2.4.5 • Published 3 years ago

telegraf-broadcast v2.4.5

Weekly downloads
89
License
MIT
Repository
github
Last release
3 years ago

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)
/*
    [
        ...
        {
            id: 1234,
            username: 'RealPeha'
            ...
        }
        ...
    ]
*/

const userIds = users.map(user => user.id)

console.log(userIds)
/*
    [..., 1234, ...]
*/

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)

// in another file, for example
bot.start((ctx) => {
    ctx.broadcaster.sendText([154674234], 'Hello everyone')
})
2.4.5

3 years ago

2.4.4

3 years ago

2.4.3

3 years ago

2.4.1

3 years ago

2.4.2

3 years ago

2.4.0

3 years ago

2.3.0

3 years ago

2.2.1

3 years ago

2.1.2

3 years ago

2.2.0

3 years ago

2.1.1

3 years ago

2.1.3

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

1.0.0

4 years ago