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 --save
import createClient from '@botocrat/telegram'
const client = createClient({token: '123456789:BB...'})
const me = await client.getMe()
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)
...
const [data, ext, size] = await client
.getFile(incomingMessage.photo)
.then(client.download) // Buffer
fs.writeFileSync("fileName." + ext, data)
...
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()}`)
}})
...
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