feat: expose Telegram anti-flood settings
This commit is contained in:
@@ -15,6 +15,33 @@
|
||||
openssl rand -hex 32
|
||||
```
|
||||
|
||||
## Telegram антифлуд
|
||||
|
||||
Апдейты Telegram-бота проходят через ранний anti-flood middleware до sync
|
||||
профиля, проверки каналов и логирования действий, которые обращаются к базе.
|
||||
Профиль по умолчанию специально мягкий: он не должен мешать быстрым обычным
|
||||
нажатиям кнопок, но отбрасывает экстремальные всплески сообщений и callback от
|
||||
одного источника до того, как они разгонят записи в БД, платежные обработчики
|
||||
или Telegram FloodWait.
|
||||
|
||||
Настройки доступны в **Админка -> Система -> Настройки -> Система -> Telegram
|
||||
антифлуд**. Для обычного приватного продающего бота дефолтов достаточно, поэтому
|
||||
они не добавлены в `.env.example`. Меняйте их только если реальный трафик
|
||||
показывает, что пороги нужно расширить или сузить.
|
||||
|
||||
- `TELEGRAM_DROP_NON_PRIVATE_UPDATES=True` отбрасывает апдейты из групп и
|
||||
каналов до дорогих middleware. Оставляйте включенным, если бот не должен
|
||||
работать вне приватных чатов.
|
||||
- `TELEGRAM_ANTIFLOOD_ENABLED=True` включает per-user/per-chat лимиты. Значение
|
||||
`0` у отдельного числового лимита отключает только этот лимит.
|
||||
- `TELEGRAM_ANTIFLOOD_WINDOW_SECONDS=60` задает общее скользящее окно. Дефолты
|
||||
рассчитаны на нормальные button-heavy флоу: `180` всех апдейтов, `120`
|
||||
сообщений, `240` callback, `60` inline-запросов, `30` команд `/start` и `60`
|
||||
тяжелых callback за окно.
|
||||
- `TELEGRAM_ACTION_COOLDOWN_ENABLED=True` дедуплицирует точные повторные
|
||||
платежные и trial callback от того же пользователя. Разные платежные payload
|
||||
не объединяются, поэтому обычный checkout остается независимым.
|
||||
|
||||
## Доступ администраторов
|
||||
|
||||
- `ADMIN_IDS` задает Telegram ID администраторов.
|
||||
|
||||
Reference in New Issue
Block a user