@botocrat/telegram
v0.2.8
Published
Simple, light-weight Telegram Bot Client for Node.js.
Downloads
306
Maintainers
Readme
Telegram Bot Client
Simple, light-weight Telegram Bot Client for Node.js.
This library is part of Botocrat Framework and can work as a standalone library.
What's the difference?
- 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
What's missing?
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.
Getting started
npm i @botocrat/telegram --save
import createClient from '@botocrat/telegram'
const client = createClient({token: '123456789:BB...'})
const me = await client.getMe()
TypeScript Support
import createClient, {ITMessage} from '@botocrat/telegram'
const client = createClient({token: '123456789:BB...'})
const Message: ITMessage = {
chat_id: -11111111,
text: "Hello",
protect_content: true
}
const sent = await client.sendMessage(Message)
Feature: Download File From Telegram
...
const [data, ext, size] = await client
.getFile(incomingMessage.photo)
.then(client.download) // Buffer
fs.writeFileSync("fileName." + ext, data)
...
Feature: Intercepting request
You can intercept the request by defining interceptor. This feature is implemented for logging purpose and it's optional.
...
const client = createClient({
token: '123456789:BB...',
interceptor: (method, params, formData) => {
console.log(`${method} called | ${Date.now()}`)
}})
...
Parameters
Required
| Param | Description | |-|-| | token | Telegram bot token |
Optional
| 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
Resources
License
MIT License