Набор полезных middleware
Я продолжал переписывать одни и те же middleware снова и снова для всех моих ботов, поэтому я решил извлечь их все в отдельный пакет.
Установка
yarn add grammy
Использование
Все middleware являются фабриками, хотя не все из них должны быть таковыми. Я решил сделать API однородным.
Некоторые из фабрик потребляют необязательные или обязательные параметры.
import {
ignoreOld,
onlyAdmin,
onlyPublic,
onlySuperAdmin,
sequentialize,
} from "grammy-middlewares";
// ...
bot.use(
ignoreOld(),
onlyAdmin((ctx) => ctx.reply("Только админы могут это делать")),
onlyPublic((ctx) =>
ctx.reply("Вы можете использовать только публичные чаты")
),
onlySuperAdmin(env.SUPER_ADMIN_ID),
sequentialize(),
);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Middlewares
ignoreOld
Игнорирует старые обновления, что полезно, когда бот долгое время не работает. Вы можете дополнительно указать таймаут в секундах, который по умолчанию равен 5 * 60
.
onlyAdmin
Проверяет, является ли пользователь администратором. При желании можно указать error
, который будет вызван с контекстом, если пользователь не является администратором.
onlyPublic
Проверяет, является ли чат групповым или каналом. При желании можно указать error
, который будет вызван с контекстом, если это не групповой чат или канал.
onlySuperAdmin
Проверяет, является ли пользователь суперадминистратором. Необходимо указать идентификатор суперадминистратора.
sequentialize
Основной последовательностью middleware который принимает идентификатор чата в качестве последовательного идентификатора.
Краткая информация о плагине
- Название:
grammy
-middlewares - Исходник
- Документация: https://
github .com /backmeupplz /grammy -middlewares