Изначально разрабатывался чтобы решить проблему со спамерами в чатах Вастрик.Клуба, но может использоваться и в чатах других форков, да и просто в любых больших чатах.
- Автоматически выдает капчу новым участникам, если капча не отключена для чата
- Проверяет сообщения простыми фильтрами: блеклист, слишком много эмодзи, слова с маскирующимися символами, стоп-слова, кнопки, сообщения от каналов
- При наличии
DOORMAN_OPENROUTER_APIдополнительно включает LLM-проверки текста, фото и профиля пользователя - Может автоматически банить или только удалять и отправлять сообщение в админку, в зависимости от настроек
- Подтягивает доверенных пользователей из Клуба
- Поддерживает ручную модерацию из админ-чата и команды для дообучения датасета
- Пользователь заходит в чат, получает капчу и попадает под дополнительные проверки
- Если пользователь уже в доверенных, часть проверок пропускается
- Сообщения с явным спамом, рекламой или подозрительным профилем могут удаляться, а при включенных настройках - баниться сразу
- В админ-чат приходят уведомления о сработавших фильтрах и ручных банах
Команды вызываются ответом на сообщение в админ-чате.
/spam- добавить сообщение в датасет спама и список авто-бана/ham- добавить сообщение в датасет не-спама/check- прогнать сообщение через все проверки и показать результат/unban <userId>- снять бан и вернуть пользователя в доверенные
DOORMAN_BOT_API- токен Telegram-ботаDOORMAN_ADMIN_CHAT- ID админ-чата
Опционально:
DOORMAN_CLUB_SERVICE_TOKEN- сервисный токен КлубаDOORMAN_CLUB_URL- базовый URL Клуба или форка, по умолчаниюhttps://vas3k.club/DOORMAN_OPENROUTER_API- включает LLM-проверки через OpenRouterDOORMAN_ADMIN_CHAT_MAP- перенаправление сообщений из конкретных чатов в отдельные админ-чаты, форматfrom=to,from=toDOORMAN_BLACKLIST_AUTOBAN_DISABLE- отключает автобан пользователей из блеклистаDOORMAN_CHANNELS_AUTOBAN_DISABLE- отключает автобан сообщений от каналовDOORMAN_CHANNEL_AUTOBAN_EXCLUSION- чаты, в которых автобан каналов отключенDOORMAN_CHANNEL_MARKETOLOGY_EXCLUSION- чаты, в которых не работает автобан по словам с маскирующимися символамиDOORMAN_CHANNELS_EMOJI_DISABLE- чаты, в которых отключена проверка TooManyEmojisDOORMAN_CAPTCHA_DISABLE- чаты, в которых отключена капчаDOORMAN_LOOKALIKE_AUTOBAN_DISABLE- отключает автобан по словам с маскирующимися символамиDOORMAN_BUTTON_AUTOBAN_DISABLE- отключает автобан сообщений с кнопкамиDOORMAN_HIGH_CONFIDENCE_AUTOBAN_DISABLE- отключает автобан по высокой уверенности ML-моделиDOORMAN_LOW_CONFIDENCE_HAM_ENABLE- включает отправку в админку сообщений, которые ML считает не-спамом, но с низкой уверенностьюDOORMAN_APPROVED_ML_SPAM_CHECK_DISABLE- отключает ML-проверку сообщений от уже доверенных пользователей
- https://lols.bot/ за борьбу со спамерами и API для бан-листов
- https://github.com/umputun/tg-spam/ за некоторые идеи и начальный датасет
На данном этапе меня не интересует, вы можете со спокойной душой форкнуть и подмёрживать себе апстрим