0.2.8 • Published 2 years ago

@botocrat/telegram v0.2.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Telegram Bot Client

Simple, light-weight Telegram Bot Client for Node.js.

NodeJS npm telegram 5.7 quality license mit

last commit size vulnerabilities Total alerts Code quality

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

ParamDescription
tokenTelegram bot token

Optional

ParamDescriptionDefault
debugDebug functionnull
baseUriTelegram API urlhttps://api.telegram.org
fileSizeLimitSize limiter for .download() methodInfinity (no limit)
interceptorcallback to intercept request before sentnull

No need for extra documentation, all API methods and parameters explained in Official Telegram Bot API Documentation

Resources

License

MIT License

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago