Simple, light-weight Telegram Bot Client for Node.js.
This library is part of Botocrat Framework and can work as a standalone library.
- You don't have to think about the order of the arguments, same as official API
- Lightest weight (< 5 kb)
- Minimal dependencies
- Future-proof (Only types will added on Telegram API changes)
- Bent as http requester
This library intented to make requests to Telegram Bot API server and handling responses only. Handling updates from telegram or other high level features is not a purpose of this library. Use the framework to receive and handle updates.
npm i @botocrat/telegram --saveimportcreateClientfrom'@botocrat/telegram'constclient=createClient({token: '123456789:BB...'})constme=awaitclient.getMe()importcreateClient,{ITMessage}from'@botocrat/telegram'constclient=createClient({token: '123456789:BB...'})constMessage: ITMessage={chat_id: -11111111,text: "Hello",protect_content: true}constsent=awaitclient.sendMessage(Message)...
const[data,ext,size]=awaitclient.getFile(incomingMessage.photo).then(client.download)// Bufferfs.writeFileSync("fileName."+ext,data)...You can intercept the request by defining interceptor. This feature is implemented for logging purpose and it's optional.
...
constclient=createClient({token: '123456789:BB...',interceptor: (method,params,formData)=>{console.log(`${method} called | ${Date.now()}`)}})...| Param | Description |
|---|---|
| token | Telegram bot token |
| Param | Description | Default |
|---|---|---|
| debug | Debug function | null |
| baseUri | Telegram API url | https://api.telegram.org |
| fileSizeLimit | Size limiter for .download() method | Infinity (no limit) |
| interceptor | callback to intercept request before sent | null |
No need for extra documentation, all API methods and parameters explained in Official Telegram Bot API Documentation
MIT License