branding images
branding images

Как защитить Telegram-чат от спама, мата и 18+ контента: обзор и установка бота Samurai

Модерация крупных Telegram-чатов требует времени. Ручная модерация спама, мата и порнографического контента быстро превращается в однообразную и утомительную рутину. Для автоматизации таких процессов используют ботов-модераторов. Один из них — Samurai, open-source решение со встроенными нейросетями для фильтрации контента.

Если вы владелец сетки Telegram-чатов или крупного комьюнити, то такой бот существенно упростит модерацию.

В материале разберем возможности бота и расскажем, как его развернуть на сервере.

Возможности бота Samurai

Samurai написан на Python и использует ML-модели (машинное обучение) для анализа текстового и визуального контента.

Основной функционал:

  • Анти-спам. Нейросеть (на базе DeBERTa) анализирует сообщения новых пользователей и автоматически блокирует спамеров.
  • Анти-мат. Встроенный цензор выявляет и удаляет нецензурную лексику на русском и английском языках.
  • NSFW-фильтр (18+). Бот проверяет аватарки пользователей с помощью ИИ (модель SigLIP). Если система обнаруживает порнографию или запрещенный контент, профиль помечается как NSFW.
  • Система репутации. Участники чата могут повышать или понижать рейтинг друг друга за полезные ответы или токсичность.
  • Система репортов. Пользователи могут пожаловаться на сообщение через команду !report, чтобы переслать его на проверку администраторам.
  • Отложенные сообщения. Бот умеет отправлять анонсы по заранее заданному расписанию.

Требования к серверу

Для стабильной работы Samurai потребуются:

  • Установленный Python версии 3.11 или выше.
  • Токен бота (создается через @BotFather в Telegram).
  • Минимум 800 МБ оперативной памяти (RAM) для загрузки ML-моделей и кэширования.

Пошаговая установка

Шаг 1. Скачивание и установка библиотек. Откройте терминал, скачайте папку с ботом и установите нужные для его работы модули: git clone https://github.com/Priler/samurai.git cd samurai pip install -r requirements.txt.

Шаг 2. Настройка окружения. Создайте файл с настройками, скопировав базовый шаблон: cp .env.example .env (команда для Mac/Linux) и copy .env.example .env (команда для Windows). Откройте появившийся файл .env в любом текстовом редакторе (хоть в «Блокноте») и заполните данные:

  • BOT_TOKEN — токен вашего бота (берется у @BotFather в Telegram).
  • BOT_OWNER — ваш личный Telegram ID (чтобы бот слушался вас как создателя).
  • GROUPS_MAIN — ID чата, который нужно модерировать.
  • GROUPS_REPORTS — ID служебного чата, куда будут приходить жалобы.
  • GROUPS_LOGS — ID чата для технических логов бота.
  • DB_URL — база данных (можно не трогать и оставить по умолчанию: sqlite:///./samurai.db).

Шаг 3. Инициализация базы данных. Перед самым первым запуском нужно создать пустую базу данных:

  1. Откройте файл db_init.py в текстовом редакторе.
  2. Найдите и удалите защитную строчку: exit(«COMMENT THIS LINE IN ORDER TO RE-INIT DATABASE TABLES»).
  3. Сохраните файл и введите в терминале: python db_init.py.

Важно! Этот скрипт затирает старые данные. Когда база создастся, верните удаленную строчку на место, чтобы случайно не обнулить бота в будущем.

Шаг 4. Запуск бота. Остается только запустить главный процесс: python bot.py.

Установка через Docker

Если вы используете систему контейнеров Docker, установка сводится к двум командам (для Windows замените $(pwd) на полный путь к папке): docker build -t samurai-bot . docker run -d —name samurai-bot -v $(pwd)/config.toml:/app/config.toml —env-file .env samurai-bot.

Владислав Долгов
Владислав Долгов
Автор
(Проголосовать за статью)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

X