Telegraf Message Broadcast
Send broadcast messages to all of your bot users/groups/channels for Telegraf.js v3.38.0 based on Bull Queue
Installation
Just use npm
npm i telegraf-broadcast --save
or yarn
yarn add telegraf-broadcast
Usage
If you want to make message broadcast in your bot you must have a user database to get their telegram ids.
For example
const users = await SomeDB.getAllMyBotUsers()
console.log(users)
const userIds = users.map(user => user.id)
console.log(userIds)
broadcaster.sendText(userIds, '42')
Examples
Send plain text
const Telegraf = require('telegraf')
const Broadcaster = require('telegraf-broadcast')
const bot = new Telegraf(process.env.BOT_TOKEN)
const broadcaster = new Broadcaster(bot)
const userIds = [154674234, 154674235, 154674236, 154674237, 154674239]
bot.start((ctx) => {
broadcaster.sendText(userIds, 'Hello everyone')
})
bot.launch()
Send copy of the message
const userIds = [154674234, 154674235, 154674236, 154674237, 154674239]
bot.command('/broadcast', ctx => {
const replyMessage = ctx.message.reply_to_message
if (replyMessage) {
broadcaster.sendMessage(userIds, ctx.chat.id, replyMessage.message_id)
}
})
Inject broadcaster to the context
const broadcaster = new Broadcaster(bot)
bot.use(broadcaster)
bot.start((ctx) => {
ctx.broadcaster.sendText([154674234], 'Hello everyone')
})