Skip to content

eXpressionist/ClubDoorman

 
 

Repository files navigation

Антиспам для телеграма

Изначально разрабатывался чтобы решить проблему со спамерами в чатах Вастрик.Клуба, но может использоваться и в чатах других форков, да и просто в любых больших чатах.

Что делает бот

  • Автоматически выдает капчу новым участникам, если капча не отключена для чата
  • Проверяет сообщения простыми фильтрами: блеклист, слишком много эмодзи, слова с маскирующимися символами, стоп-слова, кнопки, сообщения от каналов
  • При наличии 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-проверки через OpenRouter
  • DOORMAN_ADMIN_CHAT_MAP - перенаправление сообщений из конкретных чатов в отдельные админ-чаты, формат from=to,from=to
  • DOORMAN_BLACKLIST_AUTOBAN_DISABLE - отключает автобан пользователей из блеклиста
  • DOORMAN_CHANNELS_AUTOBAN_DISABLE - отключает автобан сообщений от каналов
  • DOORMAN_CHANNEL_AUTOBAN_EXCLUSION - чаты, в которых автобан каналов отключен
  • DOORMAN_CHANNEL_MARKETOLOGY_EXCLUSION - чаты, в которых не работает автобан по словам с маскирующимися символами
  • DOORMAN_CHANNELS_EMOJI_DISABLE - чаты, в которых отключена проверка TooManyEmojis
  • DOORMAN_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-проверку сообщений от уже доверенных пользователей

Спасибо

Контрибьют

На данном этапе меня не интересует, вы можете со спокойной душой форкнуть и подмёрживать себе апстрим

About

Telegram anti-spam bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 99.7%
  • Dockerfile 0.3%