Бот-модератор
Надёжная защита от спама и мошенников более чем для 700 телеграм-чатов: верификация, фильтрация сообщений, чёрный и белый списки слов
Бот-модератор
Надёжная защита от спама и мошенников более чем для 700 телеграм-чатов: верификация, фильтрация сообщений, чёрный и белый списки слов
задача
Разработать телеграм бота для приветствия каждого вступающего участника, верификации новых участников, фильтрации сообщений по разным правилам. И всё это для сети из 700 чатов.
Многие чаты страдают от спама и чаты нашего клиента не стали исключением. Для начала важно понимать, как работают спамеры и что происходит при спам-атаках.

Злоумышленники используют специальные программы, которые подключаются к аккаунту и управляют им до тех пор, пока аккаунт не заблокирует сам телеграм.

Аккаунт вступает в чат и тут же отправляет заданное сообщение. Бороться с такими атаками вручную кажется чем-то невозможным, поэтому первым инструментом мы решили отрезать таких "роботов".

Капча и приветствие
капча
Для того, чтобы отрезать роботов, клиент попросил сделать верификацию, наподобие "докажите, что вы не робот" - нужно выбрать один из фруктов. При этом, для каждого пользователя формируется новая комбинация кнопок и случайным образом выбирается фрукт, на который надо нажать, чтобы пройти проверку.
Все сообщения пользователя до прохождения проверки удаляются. Чтобы сообщения с предложением выбрать фрукт не забивали чат, они автоматически удаляются по таймеру, если пользователь не выбрал ни один из фруктов - такое тоже бывает.
Конечно, такую капчу тоже можно автоматически обойти, на этот случай у нас уже припасена пара идей :)
второй рубеж защиты — запрет пересланных сообщений, ссылок в сообщениях и чёрный список слов
фильтрация сообщений
Запретить все ссылки - это слишком радикальное решение, поэтому у нас есть белый список ссылок, позволяющий указать как домены (вида: ya.ru), так и конкретные адреса.
Ссылки из белого списка пропускаются ботом, чтобы обычные участники могли обмениваться полезной информацией.

Важно не только удалить сообщение, но и объяснить пользователю, почему оно удалено - тогда не возникнет вопросов, куда же делось сообщение. Зачастую, пользователи просто не читают правила чатов, поэтому не обращают внимания и отправляют ссылки.

Сообщение с причиной удаления
А что по скорости работы? 700 чатов – всё таки немало
Бот стоит на сервере стоимостью 500 рублей/месяц, средняя нагрузка – 67 запросов в минуту, хотя бывают всплески и по 250 и 400 запросов, однако, среднее время ответа составляет всего 76 мс!
А это графики, по которым видно, что бот на большинство событий отвечает менее, чем за 100 мс (Web transactions time)
кстати, капчу прошло уже более 600 000 пользователей!

Сообщения об изменениях и новых группах
другие полезные функции для бизнеса
Добавить бота в чат может только администратор, прошедший авторизацию в боте. А для удобства взаимодействия с отделом рекламы бот сообщает администраторам о том, куда и кем он был добавлен.

А ещё бот отслеживает изменение ссылок на группы, чтобы можно было поддерживать актуальную базу чатов, если она до сих пор в Excel.

А ещё для отдела рекламы есть отчёт по приветствиям и активности в чатах - он автоматически отправляется каждое 1-е число месяца: в этом отчёте можно узнать сколько раз было отображено приветствие для каждого чата, сколько сообщений отправили участники и сколько из них админы.
Разработка первой версии заняла всего 50 часов, а со всеми доработками - не более ста
Made on
Tilda