Время от времени владельцы Telegram-групп сталкиваются с тем, что злонамеренные граждане начинают вести себя не особо культурно и наливают в вашу группу тысячи ботов.
Помимо того, что это приводит к параличу любого общения в группе из-за спама сообщениями «Такой-то вступил в группу
» и сообщениями от самих ботов, также это может закончится довольно печально, если боты «обучены» выходить из группы, нажав при этом кнопку «Пожаловаться». При достаточном количестве жалоб вы можете лишиться вашего телеграм-чата!😱
Так что же делать, если в один «прекрасный» день вы видите, что к вам в группу стали пачками добавляться непонятные пользователи?
Наша тактика защиты будет состоять из трёх вещей:
- Добавление в группу бота-администратора, который будет автоматом банить всех новых пользователей
- Очистка всех тех, кто уже успел вступить, до момента, когда был добавлен бот-администратор
- Создание сложностей для проведения повторных атак
Поехали!
Добавляем бота-администратора
Если у вас достаточно большой телеграм-чат и до сих пор нету бота, с помощью которого его можно администрировать и модерировать пользователей, то это большая ошибка!
На рынке существует с десяток решений данной проблемы, лично я выбрал для себя бота ChatKeeper. Бот довольно удобный, масса настроек, имеется веб-интерфейс, короче — рекомендую.
После того, как вы добавите его в свою группу и сделаете администратором, вы сможете посылать боту команды. Просто пишите их в чат, бот на них реагирует. С полным списком вы можете ознакомиться вот тут, нас же в данный момент интересует всего одна: /kickall
. Смотрим описание👇
Итак, после включения «режима атаки» ваш новоиспечённый админ будет банить всех ботов, которых вам продолжают наливать в группу. Отлично, мы прекратили приток новых ботов, но что делать с теми, которые уже успели к нам вступить?
Чистим вступивших ботов
Перво-наперво засеките время, когда вы перевели бота-администратора в режим атаки. Допустим, это было 12:15. Далее проматываете вашу группу и ищете момент, когда в неё стали добавляться невнятные пользователи. Допустим, это было в 10:42.
Всех новых пользователей, добавившихся в промежутке 10:42 — 12:15 вам необходимо удалить. Как получить список таких пользователей?
Для решения этой задачи Telegram предоставляет нам полный лог действий, произошедших на канале. Называется он «Recent Actions
» и доступен в меню группы.
Если зайти в этот лог, то справа вверху будет кнопка, позволяющая отфильтровать лог по различным типам действий. Нас интересует действие «New members
«.
После применения фильтра мы увидим лог добавления всех новых пользователей нашей группы. Но как быть, если к вам успело залететь несколько тысяч ботов? Не будем же мы сами искать их всех в логе и удалять руками?
Конечно же нет. Специально для этой задачи мне пришлось написать небольшое консольное приложение, работающее как под Windows так и под MacOS/Linux. Оно делает ровно то, о чём я написал выше: читает лог действий группы за заданный промежуток времени и удаляет новых пользователей.
ВНИМАНИЕ: Лог группы хранится на серверах Telegram в течение 48 часов, после чего удаляется, поэтому начинайте очистку как можно раньше!
Приложение живёт тут и вот как с ним работать:
- Скачиваете из раздела Releases архив под нужную вам платформу
- Разархивируете в любую папку
- Открываете в этой папке терминал и запускаете программу
Программа запросит все нужные данные:
- Ваш номер телефона — тут всё вполне очевидно.
- Название вашего чата/канала в телеграме. Без собаки!
- Начальная дата, начиная с которой софт будет чистить пользователей. Формат у неё такой: год, месяц, день, часы, минуты, секунды. ВНИМАНИЕ: часовой пояс здесь UTC+0!!! Поэтому, если у вас, например +3, то вам надо вычесть 3 часа чтобы получить нужную дату.
- Конечная дата, формат тот же, что и у начальной
- app Id и app Hash — число и хэш для доступа к API Телеграма от вашего лица. Их нужно взять вот отсюда.
- Если ваш аккаунт защищён 2FA-паролем, то введите его на соответствующем шаге, иначе просто нажмите Enter.
После того, как вы всё ввели, программа запросит у вас код доступа, который придёт вам в Телеграм. Введите его в консоли.
Далее софт начинает чистить всех пользователей в заданном промежутке времени, выглядит это всё примерно вот так👇
Скорость очистки равна 300 пользователей за 13 минут, т.е. примерно полторы тысячи в час. К сожалению, быстрее не получится, Telegram ограничивает повторяющиеся API-запросы. Так что просто запустите программу фоном и пусть работает.
Заметка: если вы программист, то вы можете ускорить работу программы, добавив в группу ещё несколько админов, далее получить для них apiId и apiHash, после чего чистить группу многопоточно, используя все аккаунты админов, что есть в наличии.
После того, как софт закончит удалять ботов, переходим к третьей части Марлезонского балета.
Усложняем возможность проведения последующих атак на вашу группу
Если только против вас действуют не профессионалы, то самым действенным способом ограничить налив ботов к вам в группу является установка какой-либо проверки для новых пользователей.
Проверки могут быть разнообразными: нажатие на кнопку «Войти», решение несложной математической задачки, капча и т.п. Мы с вам разберём самый простой вариант — кнопку «Войти».
Для её реализации нам потребуется всё тот же бот-администратор ChatKeeper. Переходим в веб-интерфейс бота, выбираем "Настройки" - "Приветствие"
и ставим всё примерно так как на скрине ниже:
После чего сохраняем настройки. Всё, теперь все пользователи, которые не проходят проверку (т.е. не нажамают на кнопку) будут удалены!
Если вы хотите ещё более сложную для прохождения ботами защиту — вам поможет бот AiLadin. Он запускает отдельный MiniApp в котором выводит стандартную капчу Яндекса.
Другие проверенные автором боты, помогающие с защитой и очисткой Телеграм-каналов/групп:
Заключение
Поздравляю! Вы только что сделали всё необходимое, чтобы защитить вашу Telegram-группу, желаю ей процветать и здравствовать, успехов!