Botocrat is a minimal and flexible Telegram bot framework that provides context oriented programming
API along with express-like middlewares.
Botocrat has following packages you can use or replace with your own.
Package | |
---|---|
@botocrat/telegram | Telegram Bot Client |
@botocrat/poller | Polls Telegram server to .getUpdates() |
@botocrat/express | Express middleware to receive updates from webhook |
@botocrat/state | Persistent/volatile state (stored in redis) management middleware (coming soon) |
- Context Oriented Approach
- Flexible ( You can create & share middlewares )
- Lightest & low-overhead
- Typescript Support
- Consecutive sending, chaining and waiting
npm exec botocrat my-telegram-bot
npm i @botocrat/core @botocrat/telegram @botocrat/poller --save
import Botocrat from '@botocrat/core'
import createClient from '@botocrat/telegram'
import poller from '@botocrat/poller'
const client = createClient({token: TELEGRAM_BOT_TOKEN})
const bot = new Botocrat()
.get('message', (req, res) => {
res.send(`Hello ${req.from.first_name}!`)
// .sent.wait(1000).reply('Thank you for choosing us')
})
poller(bot, client).poll()
Read the detailed documentation on GitHub Wiki
You can ask questions on GitHub
MIT License