telegraf / Telegraf Ratelimit
Licence: mit
Rate-limiting middleware for Telegraf
Stars: ✭ 26
Programming Languages
javascript
184084 projects - #8 most used programming language
Telegraf Rate Limit
Rate-limiting middleware for Telegraf (Telegram bot framework).
Installation
$ npm install telegraf-ratelimit
Example
const Telegraf = require('telegraf')
const rateLimit = require('telegraf-ratelimit')
// Set limit to 1 message per 3 seconds
const limitConfig = {
window: 3000,
limit: 1,
onLimitExceeded: (ctx, next) => ctx.reply('Rate limit exceeded')
}
const telegraf = new Telegraf(process.env.BOT_TOKEN)
telegraf.use(rateLimit(limitConfig))
telegraf.on('text', (ctx) => ctx.reply('Hello!'))
telegraf.startPolling()
API
Options
-
window
: how long to keep records of requests in memory in ms (default: 1 second) -
limit
: max number of messages during window (default: 1) -
keyGenerator
: key generator function (context -> any) -
onLimitExceeded
: rate-limit middleware
Default implementation of keyGenerator
:
function keyGenerator(ctx) {
return ctx.from.id
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].