Skip to content

Reliable sequential message queue for Telegram bots built with grammy. Handles rate limits (429), retry_after and preserves message order.

Notifications You must be signed in to change notification settings

snipe-dev/grammy-message-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grammy-message-queue

npm version npm downloads

Reliable sequential message delivery queue for Telegram bots built with grammy.

  • Preserves message order
  • Automatic Telegram 429 rate limit handling
  • Supports retry_after
  • Separate send & edit queues
  • ESM + CommonJS compatible
  • Node.js >= 16

Installation

npm install grammy-message-queue
npm install grammy

Usage (ESM)

import { Bot } from "grammy";
import { TelegramQueue } from "grammy-message-queue";

const bot = new Bot(process.env.BOT_TOKEN!);
const queue = new TelegramQueue(bot.api);

await queue.sendMessage(123456789, "<b>Hello from queue</b>");

Usage (CommonJS)

const { Bot } = require("grammy");
const { TelegramQueue } = require("grammy-message-queue");

const bot = new Bot(process.env.BOT_TOKEN);
const queue = new TelegramQueue(bot.api);

queue.sendMessage(123456789, "<b>Hello from queue</b>");

API

new TelegramQueue(api: Api)

Creates a new transport-safe queue instance.

sendMessage(chatId, text, buttons?)

Sequential queued send.

Returns:

Promise<number>

editMessage(chatId, msgId, text, buttons?)

Queued edit.

Returns:

Promise<boolean>

sendSingleMessage(...)

Immediate send without queue.

sendSinglePhoto(...)

Immediate photo send.

editSingleMessage(...)

Immediate edit.


Build

npm run build

Publish

npm pack
npm publish --access public

About

Reliable sequential message queue for Telegram bots built with grammy. Handles rate limits (429), retry_after and preserves message order.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published