@lightweight-clients/telegram-bot-api-lightweight-client
v9.4.0
Published
Lightweight Telegram Bot API client. Exports only minimal Fetch call. Fully compatible with AWS LLRT.
Maintainers
Readme
Telegram Bot
This is lightweight client for Telegram Bot API. It contains only methods and types
and exports only fetch call to make requests.
It supports only application/json content type and does not support file uploads.
However, you can use the corresponding methods to upload files by URLs or file IDs.
You can also upload files using another approach and pass the file ID to the method.
Installation
npm install @lightweight-clients/telegram-bot-api-lightweight-clientUsage
Examples
import { client_setClientToken, getMe } from '@lightweight-clients/telegram-bot-api-lightweight-client';
client_setClientToken('123:helloworld');
const main = async () => {
const me = await getMe();
console.log(me);
};
main();The library provides 2 groups of methods:
- request methods:
getMe,sendMessage, etc. These methods are used to make requests to the Telegram Bot API. client_*: methods for configuring the client.
Request Methods
They return a promise that resolves to the response from the API. You can find all request methods in the 'client.ts' file. The request methods are named as in Telegram Bot API documentation, so you can easily find them.
client_* Methods
The methods starting with client_ are used to configure the client. They are:
client_setClientToken(token: string): sets the token.client_setBaseUrl(endpoint: string): sets the endpoint.
Defaults tohttps://api.telegram.org/bot{token}. If you want to use a different endpoint (e.g., for a self-hosted Telegram Bot API server), you can set it here.client_setFetch(customFetch: typeof client_fetch): sets the fetch function for all requests. Defaults to thefetchfunction from thenode-fetchpackage. If you want to use a different fetch function (e.g., for browser or Node.js), you can set it here.
Features
- No dependencies.
- When using code minifiers, only the fetch command is exported.
- Can be used in browser and Node.js.
- Fully compatible with AWS LLRT.
- Fully typed API.
Versioning
The versioning of this library is based on Telegram Bot API versioning. So, if Telegram Bot API version is 7.5, then this library version will be 7.5.0. The last number is for bug fixes and small changes in the library.
Schema
The schema for the Telegram Bot API is available in the lightweight-clients/schemas repository.
License
This project is licensed under the MIT License - see the LICENSE.md file for details. Types are generated from Telegram Bot API documentation. by @hey-api/openapi-ts.
