Как защитить Телеграм чат от массовой накрутки ботами
Всем привет. Сегодня решил поделиться своей историей и ее решением с читателями vc.ru, а также с теми, кто столкнется с чем-то подобным. Сразу скажу, я не считаю себя экспертом, но именно мне данное решение помогло. Возможно, для Вас оно будет менее актуальным.Для тех, кто захочет сразу побежать в комментарии не прочитав статью - Combot или Crosser Bot в моем кейсе оказались бесполезны.
С чего все началось
Я больше 5 лет вел Телеграм канал (t.me/cpalike) и чат (t.me/cpafuck). Иногда сталкивался с небольшими приливами ботов, но оперативно подчищал их и жил себе мирно дальше. Однако 7 апреля у меня случился небольшой конфликт и некий недоброжелатель решил уничтожить мои ресурсы с помощью наплывов ботов.
У чата всегда был подключен оплаченный Combot, который всех новых участников приветствовал капчей. Однако это не работает, когда в чат в течении 1-2 минут залетает несколько тысяч ботов. Телеграм будто не приспособлен к таким нагрузкам и история чата попросту исчезает. Выглядит жутко, поверьте)
Помимо того, что висит масса сообщений с просьбой подтвердить, что пользователь не бот, также появляется множество уведомлений в стиле “Max вступил в группу”. Итого при 1000 ботах мы получаем целых 2000 сообщений в чат.
Уведомления о входе нового участника Combot не успевает чистить и многие из них попросту пропускает - они остаются висеть в чате. Для этого я подключил joinhider, с ним стало получше.
Однако каждая такая атака парализовывала чат на несколько часов и в момент накрутки происходила вакханалия. Все дергалось, прилетала куча сообщений-уведомлений и в итоге история пропадала.
Позднее был включен режим атаки у Combot, в нем нет проверок для пользователей, банит абсолютно всех входящих, но уведомления о новых вступивших всё равно летели пачками. За всё время атак в чат накрутили более 360 000 ботов. Кстати, занимательно, но судя по ценам сервисов это стоило около 10 000 рублей.
Попытки остановить накрутку и решение проблемы
Спустя месяц отражения атак я принял решение и перевел чат из публичного в приватный. Логин чата закрепил за старым каналом, где позднее разместил ссылку на бота для вступления. К сожалению, я потерял поисковый трафик из телеграм, но мне было важнее спокойствие моих пользователей и возможность вступления новых.
Как оказалось, приватный чат тоже легко крутится, если есть хоть какая-то публичная ссылка для вступления.
Чтобы обезопасить себя и дать возможность новым пользователям вступать, я придумал бота-консьержа. Схема работы проста до безобразия:
1) пользователь запускает бота;
2) проходит капчу;
3) получает одноразовую ссылку и отправляет запрос на вступление;
4) администраторы одобряют ее.
Через какое-то время мне начали писать другие участники индустрии с подобной проблемой. Отдать им свой код я не решился, как минимум потому что нужно объяснять, как ставить его на сервер и тд. Вместо этого немного переписали бота и сделали его публичным и бесплатным для всех.
Это решение подходит для закрытых чатов и идеально фильтрует живую и активную аудитория. Какие-то небольшие атаки вы легко сможете отбить и подчистить с помощью Combot/Crosser + Joinhider, но для масштабных атак решений от Телеграма нет, нагнать ботов могут и на временные ссылки с функцией заявок.
Можно ли в теории накрутить и через нашего бота - да. Но для этого придется писать отдельный софт, который бы запрашивал на каждого бота ссылку, это сильно сложнее, чем просто заказать накрутку в сервисе + в любом случае есть человеческий фильтр заявок.
В общем, если Ваш чат активно атакуют, можете воспользоваться моим решением - https://t.me/hpr_bot . Настройка интуитивно понятная, но инструкцию приложу.
Подробная инструкция - https://teletype.in/@dovolnyy/faq_hpr_bot
💬Буду рад вашей конструктивной критике и комментариям, спасибо.
Комментарий недоступен
Спасибо за статью! У меня тоже случались наплывы ботов и даже блокировали из-за этого каналы. Но на помощь пришла u.is. Там можно вести свой блог и создать отдельный чат для общения. Очень порадовала политика самой экосистемы, построенная на полной анонимности.
сторонние решения не самый удобный вариант, но его можно рассмотреть как альтернативу
Да, вы правы, по началу не всё было понятно и удобно, но очень быстро привыкаешь к этому, мне понадобилось потратить день для того чтоб во всём разобраться)))
Спасибо, что поделились бесплатно, не создавая очередной «курсо-марафон» 👍
хорошая идея - можно упростить решил каптчу -бот добавил юзера в группу.
такое решение было опробовано первично, залетали вручную, разгадывая капчу (сам удивился, что уже никто не пишет капТча)
Даже для чата в 8000 суточные вступления не такие большие, чтобы принимать заявки и фильтровать еще зрительно)
ага ясно, доп. уровень защиты :)
На самом деле в закрытом чате больше плюсов, чем минусов)
Единственный минус - его нет в поиске.
А так, живых пользователей такое фильтр-решение не отпугивает
А реклама есть в закрытом чате?
Чья?
Биржевая
нет, в чатах вообще рекламы нет (не встречал)
Обычная казалось бы история - уберечь. Но очень прекрасно сформулированная в той понятной последовательности, что трудно не поддаться искушению - внедрить такую же схему защиты для своих бизнес-задач
Спасибо автору)
Спасибо
Почему то у меня ваш бот не работает
подняли бота в рабочее состояние
похоже что-то произошло с технической стороны, пытаемся разобраться(
Я - рядом!)
Комментарий недоступен
а как быть со сносом ботов и каналов, а не чатов?
кто-нибудь сталкивался с проблемой накруткой эмоций в канале? Если бы это происходило в группе я бы еще мог увидеть инициаторов, то в канале увидеть это не возможно и пока не понимаю как с этим бороться, ведь эмоцию к посту можно лайкнуть если ты не участник канала и да же если канал закрытый. Массового наплавы пользователей по истории нет, просто это произошло в короткий промежуток времени к 100 постам
на одном телег канале стоит 1 пост и я накручиваю просмотры и сразу этот пост удаляется, и новый сразу выходит как они так сделали?
на одном телег канале стоит 1 пост и я накручиваю просмотры и сразу этот пост удаляется, и новый сразу выходит как они так сделали?
Ещё хороший бот для защиты от накрутки - @channel_guardian_bot