Телеграм бот для удаления спама |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-02-10 21:46 Решил написать эту публикацию т.к. устал объяснять одно и то же людям, которые хотят использовать моего телеграм бота @daysandbox_bot. Итак, несколько месяцев назад я разработал бота для удаления спама по очень простому признаку: если человек зашёл в чат и провёл в нём менее суток, то любые ссылки или forward сообщения от этого человека удаляются. Всё. Никаких нейронных сеток, анализа частотности, модерируемых white- и black-листов и прочих сложных вещей. На удивление бот приобрёл некоторую популярность и работает уже более чем в шестистах чатиках. Далее я попытаюсь развёрнуто описать принцип работы бота, чтобы в дальнейшем давать ссылку на эту статью.
Принцип работы бота
С момента добавления в чат бот отслеживает события захода новых пользователей в группу и тем самым знает, когда кто зашёл в чат и сколько времени он уже провёл в чате. В силу ограничений telegram API я не могу узнать, когда к чату присоединились те пользователи, которые уже были на момент добавления бота в чат. Бот никак не анализирует сообщения от пользователей, существующи на момент добавления бота. Итак, бот знает, когда новые пользователи зашли в чатик. Если бот видит, пользователь провёл в чате меньше суток и запостил сообщение, удовлетворяющее определению спама, то бот удаляет такое сообщение. Он не банит пользователя, не ставит ему read-only права, бот просто удаляет сообщение со спамом. Если пользователь запостит не-спам сообщение, то оно будет опубликовано. Какие сообщения считаются спамом? Во-первых, любые сообщения содержащие ссылку: URL, email или username. Во-вторых, любые forward-сообщения т.е. сообщения пересланные из другого чата. Для правила username есть исключение, если username ссылается на пользователя, то такое сообщение разрешается. Бот удаляет только те сообщения с username, которые ссылаются на группу или канал. Это сделано для того, чтобы не было ложных срабатываний, когда новый пользователь просто пытается обратиться к какому-то участнику чата по его username. Что бот daysandbox_bot НЕ делает
Как правильно добавить бота в чат
Описываю алгоритм для desktop клиента. Подразумевается, что вы админ чатика и можете добавлять в него других админов.
Логирование действий бота в телеграм канал
Вы можете настроить бота для пересылки всех удалённых сообщений в отдельный канал. Алгоритм следующий:
Чтобы отключить логирование в канал, зайдите в чатик и напишите команду Вы можете управлять форматом сообщений, пересылаемых в канал. Для этого напишите в чатик команду Настройки бота
У бота есть несколько настроек. Напишите в чатик Напишите в чатик Текущие значения этих двух настроек можно получить командами Немного статистики
Мне лень рисовать красивые графики, скажу лишь, что бот за день бот удаляет от 10 до 15 тысяч сообщений и работает более чем в 600 чатиках. Open Source
Исходники бота находятся в открытом доступе на github. Другие мои боты
Возможно, вас заинтересуют другие боты, которые я разработал:
Контакты для связи
Мой телеграм @madspectator Источник: habrahabr.ru Комментарии: |
|