telegraf-sender-ts
v1.1.0
Published
Simplified messaging in Telegraf v4.12 (TypeScript)
Downloads
2
Maintainers
Readme
Инициализация
Чтобы начать работу с модулем, Вам необходимо импортировать и инициализировать его:
import { Telegraf } from 'telegraf';
import { Sender, setupSender } from 'telegraf-sender-ts';
import { Context as TelegrafContext } from 'telegraf/typings/context';
type Context = TelegrafContext & Sender;
const bot: Telegraf<Context> = new Telegraf(token);
bot.use(setupSender);
Отправка сообщений
Текущему пользователю
ctx.msg?.send(text: string, extra: ExtraReplyMessage)
Пользователю с другим id
ctx.msg?.sendTo(userId: number, text: string, extra: ExtraReplyMessage)
Всплывающие уведомления
Alert
ctx.msg?.alert('Пример модального окна');
Toast
ctx.msg?.toast('Всплывающее уведомление');
Изменение сообщений
Для этого воспользуйтесь методом edit:
ctx.msg?.edit(text: string, extra: ExtraEditMessageText)
Удаление сообщений
Для этого воспользуйтесь методом del:
ctx.msg?.del();
Рассылка сообщений
Для рассылки сообщений Вам нужно подготовить массив с айди пользователей, которым нужно сделать рассылку:
const users: number[] = [id1, id2, id3];
Далее сделать саму рассылку:
ctx.msg?.broadcast(users);
Вам не нужно передавать текст или extra в метод, т.к. эти данные соберёт сам метод из ctx.message. Также Вы можете передать в этот метод callback и узнать когда рассылка будет завершена:
const callback: Function = (): void => console.log('Рассылка завершена!');
ctx.msg?.broadcast(users, callback);
И ещё Вы можете выполнять какие-то действия для каждого пользователя, которому будет отправлена рассылка:
const callback: Function = (): void => console.log('Рассылка завершена!');
const action: (userId: number) => any = (userId: number) => console.log(`Отправка пользователю ${userId}`);
ctx.msg?.broadcast(users, callback, action);
Информация
Рассылка сообщений с форматом 30 сообщений в секунду. Модуль разработан для библиотеки Telegraf версии 4.12 на TypeScript. Больше примеров Вы можете найти в файле test.js