Бот быстро и тихо позволяет банить спамеров.
Бот помогает модерировать сообщения и быстро банить спамеров в группах.
Участники группы сами уведомляют администраторов о спам сообщении с помощью команды /spam.
Команду следует отправить в ответ на спам сообщение.
Всем администраторам приходит копия сообщения с возможностью указания правильно ли участник указал на спам-сообщение. Если это действительно спам-сообщение, то рейтинг участника повышается. Бот может отправить уведомление о том, что админам нужно принять решение спамер ли это или уведомить админов, что спамер забанен с возможность отката или даже молча забанить, если вероятность бана достаточно высока на основе некоторых факторов. Также бот может превентивно банить спамеров. В случае неверного определения спам сообщения рейтинг участника понижается.
Для того, чтобы бот получил список администраторов в группе или в случае удаления или добавления нового, следует любому из действующих администраторов отправить команду /update
Благодаря тому, что эти команды мгновенно удаляются самим ботом в группе - репорты и обновления происходит незаметно для пользователей
(или ваш собственный экземпляр бота)
- Добавьте бота в вашу группу.
- Дайте права администратора (с возможностью бана и добавления участников).
- Выполните команду /update (или /update@Moderator_Helper_Robot, если в группе есть другие боты с похожими командами).
- Готово! Бот начнёт работу. Администраторам нужно открыть чат с ботом, чтобы получать уведомления.
Если вы хотите использовать не публичного бота, а собственный экземпляр, установите Debian-пакет и запустите демон как системный сервис.
- Установите зависимости:
sudo apt-get update sudo apt-get install -y mariadb-server jq openssl
- Установите пакет tgadmin:
sudo dpkg -i ./tgadmin_<version>_amd64.deb
- Отредактируйте конфигурацию и укажите Telegram-данные:
Заполните как минимум:
sudoedit /etc/tgadmin/tgadmin.json
AdminHelperBot.Telegram.TokenAdminHelperBot.Telegram.UserNameServiceAdmin(Telegram user id владельца/админа сервиса)
- (Необязательно) Запуск от другого Linux-пользователя:
Поддерживаемые переменные:
sudoedit /etc/default/tgadmin
TGADMIN_SERVICE_USERTGADMIN_SERVICE_GROUP
- Включите и запустите сервис:
sudo systemctl daemon-reload sudo systemctl enable --now tgadmin sudo systemctl status tgadmin --no-pager - Если БД не инициализировалась во время установки, выполните:
sudo dpkg-reconfigure tgadmin
Полезные пути:
- Юнит сервиса:
/lib/systemd/system/tgadmin.service - Основная конфигурация:
/etc/tgadmin/tgadmin.json - Переопределение пользователя/группы сервиса:
/etc/default/tgadmin - Каталог данных:
/var/lib/tgadmin - Каталог логов:
/var/log/tgadmin
Бот реализует свою работу на веб-сервер в режиме вебхука
В бот добавлен классификатор спама (в настройках можно выключить), который может обучаться и использоваться для автоматических уведомлений администраторов (и при высокой вероятности автоматического бана спамеров) о подозрительных сообщениях. Используется алгоритм Наивного Байесовского классификатора. Помимо этого, сообщения, в которых количество эмодзи превышает заданное количество, могут также автоматически помечаться как спам этим фильтром
- fp-telegram (Telegram bots API wrapper) https://github.com/Al-Muhandis/fp-telegram
- brook-telegram (Телеграм плагин для BrookFoFreePascal) https://github.com/Al-Muhandis/brook-telegram/
- BrookForFreePascal & BrookFramework (HTTP сервер) https://github.com/risoflora/brookfreepascal & https://github.com/risoflora/brookframework
- dOPF (ORM) https://github.com/pascal-libs/dopf Заметки: BrookFreePascal может использоваться и без BrookFramework в режиме брокера