В предыдущем посте упоминал популярных ботов для управления группами, и жаловался на отсутствие у них функции антиспама. Но меньше спама от этого не стало, поэтому теперь хотелось бы рассказать про малоизвестные варианты, созданные для решения конкретно этой проблемы.
Частенько пользователи моего антиспам бота просят опубликовать исходный код, но наблюдая за многими проектами с открытым исходным кодом, у меня совершенно не возникает такого желания. Благо есть те, кто не боится показывать свой код. Вот с них и начнём.
mamed0v/NoSpamTelegram - самый простой вариант, который использует gpt-4o-mini модель ChatGPT для того, чтобы проверять каждое сообщение на спам. Такой подход сможет отловить процентов 80 спама, но также даст ложноположительные сработки. В текущем вариант бот не применяет никаких ограничений к пользователю. Можно использовать как заготовку для своего бота.
TiraelSedai/ClubDoorman - более продвинутый вариант AI антиспам бота, который предварительно делает различные логические проверки, нормализует текст, а после уже использует ML для определения спамности сообщения. Позволяет перенаправить сообщения о сработках из нескольких чатов в один (админский) и через него управлять блокировками.
umputun/tg-spam - бот объединяет возможности двух предыдущих ботов, используя для оценки спамности сообщения не только логические проверки, но и проверку сообщений через ИИ от OpenAI, имеет множество настроек, но один инстанс может работать только в одном чате.
Описанные выше варианты не имеют готовых к использованию ботов, и предполагают самостоятельную установку бота на своём сервере. Ниже расскажу про варианты ботов, которые готовы к использованию, но посмотреть, изменить или скопировать их код не получится.
@this_is_spam_bot - относительно недавно разработанный бот, о котором узнал из поста с пикабу. На текущий момент уже установлен примерно в 210 чатах, использует собственную LLM модель для обнаружения спама, и со слов создателя имеет очень хороший коэффициент корректных детектов относительно ложноположительных.
@user_ban_bot - достаточно эффективный бот, использующий логические проверки и статистический анализ по тем группам, в которые установлен, для выявления спама. Установлен примерно в 160 чатах, и как минимум в одном чате он выполняет свою работу на отлично.
@lolsbotcatcherbot - про своего бота рассказывал в предыдущем посте, и с тех пор немногое поменялось. Разве что появился канал с трансляцией результата работы AI - https://t.me/lolsBanFeed, можно посмотреть где он ошибается.
На этом про бесплатные варианты антиспам ботов у меня всё, но хотелось бы также упомянуть один платный, за развитием которого немного наблюдаю.
@RuModeratorAI_Bot - используется BERT LLM обученная на собранных из телеграм и Telegram spam archive спам сообщениях. Стоимость проверки одного сообщения 0.03руб, одной ссылки 0.8руб. Также есть API для проверки сообщений, через него моделью BERT за проверку одного сообщения берут 0.2руб. Насколько я вижу, бот пока что работает только в трёх чатах.
Наверняка я не знаю про более-лучшие варианты, и надеюсь что подскажите о них в комментариях. Два года тому назад мне бы эта информация очень пригодилась 😅
А вы знали, что в телеграм есть спам? Я вот два с половиной года тому назад не знал, и использовал его для рабочих, личных чатиков на несколько десятков человек, а также для чтения новостных каналов. А потом вдруг что-то случилось, и я начал вступать в различные группы на тысячи и десятки тысяч пользователей. Открыл для себя новый дивный мир – полный спама, мошенников, и просто тупой рекламы.
Как-то так получилось, что я вписался модерировать один банковский чатик, но быстро понял, что вручную делать это достаточно затратно по времени. Поэтому отправился искать антиспам бота, полагая что за столько времени-то его наверняка сделали. Нашёл кучу мощных решений для управления группой: Group Help, Rose, Combot, Iris, ChatKeeper, и несколько ботов поменьше...
Но вместо функции антиспама у них предлагается капча и набор различных фильтров, типа удаления по ключевым словам (которые сам задаёшь), удаление всех сообщений с картинками, ссылками, голосовухами. И в итоге выбираешь: либо полностью запретить пользователям писать про крипту и использовать ссылки, либо также вручную постоянно удалять спам и каждый день добавлять всё новые и новые ключевые слова. Потому что спамер не совсем дурак, и немного изменив текст, успешно обходит защиту.
больше пробелов б-гу пробелов
С капчей ситуация не лучше - спамеры её легко проходят. Какую-то на автомате, где-то специально обученный человек решает задачки, а потом уже софт рассылает туда, куда пустили. А вот у пользователей постоянно проблемы: кто-то не увидел, кто-то не успел, у кого-то 2 плюс 2 получается 8, или интернет настолько медленный, что капча не успела загрузиться за две минуты. Объяснений наслушался уйму.
Так пришла идея сделать своё решение, с блэкджеком и без капчи. А начать решил со сбора данных. Зарегистрировал несколько дополнительных аккаунтов, вступил с них в максимально возможное количество групп, и начал анализировать сообщения спамеров, а также их поведение. И поначалу казалось, что всё очевидно. Даже без анализа текста: просто по скорости входа в группы и скорости отправке сообщений в них. Но по пользователю нельзя посмотреть в каких группах он состоит, если не состоишь с ним в этих же группах, поэтому такой способ работал не для всех спамеров.
При анализе текста всё оказалось куда сложнее. Текст можно достаточно сильно исковеркать, но многие люди при этом по-прежнему смогут его прочитать. Кроме различных l33t техник, с заменой букв цифрами, символами и буквами из других языков, которые визуально похожи, в текст добавлялись дополнительные разделители между буквами, невидимые символы, emoji (и кастомные emoji), в словах дублировались символы или наоборот удалялись. И в качестве финала - всё это в виде картинки.
И когда мне началось казаться, что бот неплохо справляется со своей задачей - его начали добавлять в другие чаты. И вдруг начало выясняться, что с виду нормальные люди используют те же приёмы, что и спамеры. У кого-то сломалась кнопка с буквой «О» на клавиатуре (например, с русскоязычной раскладкой клавиатуры), поэтому во всех своих сообщениях на русском языке он использует латинскую «O». Кому-то нравится использовать больше emoji в тексте, чем букв. Некоторым очень сильно нужно продать лишние вещи, поэтому они сразу заходят во все барахолки, и разом во все эти группы они отправляют свои объявления.
Или так 😐
Чтобы попробовать решить эту проблему, я начал собирать историю действий пользователей в публичных группах. По дате входа или первого сообщения, начал примерно считать дату регистрации аккаунта. Все собираемые сообщения прогонял через детектор спама и в итоге составил рейтинг пользователя. К текущему моменту обработал данные о 12 млрд сообщениях от 300 млн пользователей в примерно 4 млн групп. И по-прежнему остаётся бесконечный горизонт для сбора и анализа данных. Но ввиду лимитов телеграм и проблем с регистрацией новых аккаунтов - процесс идёт не так быстро, как хотелось бы.
Но уже с такими набором данных получилось натренировать автоматику на вполне адекватную работу по зачистке спамеров, без необходимости запрещать все слова, кроме тех, что добавили в белый список, или имитировать бурную деятельность заполняя чат бесконечным полотном из капч для всех входящих. Но без ложных срабатываний пока обойтись не удаётся. И пока что заметил, что больше всего бот не любит HR, которые не указывают вилку зарплат в вакансиях, а также рассказывают про "дружную команду".
Кроме того, остаётся нерешённой проблема со шлюхоботами, которые из отличительных признаков имеют только фотографию. И, в целом, иногда находятся не совсем тупые спамеры, а те, которые проявляют немного фантазии, поэтому требуется корректировать детекты. Пока не очень понятно как долго борьба с ветряными мельницами будет доставлять мне больше удовольствия, чем проблем. Но изначально планировал сделать бота для одного чата, а сейчас он уже установлен в 3000 групп, и успел заблокировать 1.1млн спамерских аккаунтов, полный список которых можно выгрузить через api.lols.bot
без кастинга не берут
Одно время был популярен спам реакциями, и с тех пор у бота остался функционал превентивной блокировки (когда блокируется пользователь, не состоящий в группе). Но база разрослась, и достаточно часто стал сталкиваться с такой проблемой, что после добавления бота в группу с 50 участниками, бот блокирует 300 участников, в группе по прежнему остаётся 50 участников, но у админа начинается паника и он удаляет бота "пока он всех не заблокировал". Поэтому этот функционал буквально недавно отключил.
Также админы в целом боятся добавлять левых ботов, переживая из-за того, что боты могут подраться, или заблокировать всех участников, или даже украсть группу. И если с блокировкой всех участников переживания оправданы (разок была задача кикнуть 50к пользователей из чата на 200к - заняло буквально 15 минут), то подраться боты не могут (если у обоих есть админские права), и более того, они не видят сообщения друг друга, даже поругаться не смогут. А уж про захват группы так и вовсе фантастика - бот не может снять права у тех, кому он их не выдавал, и не может выдать другому больше прав, чем выдали ему самому.
Недавно телеграм начал отображать количество пользователей бота, и мне показалось что это может хоть как-то решить проблему с недоверием к неизвестному боту, но буквально позавчера эта цифра пропала, и не очень понятно к чему это, и надолго ли. Также не уверен, что эту проблему смогла бы решить публикация исходного кода, но в любом случае пока что таких планов нет, а для интеграции в своего бота можно использовать API. Конечно, получится не полноценный аналог, но в некоторых чатах уже вполне неплохо получается, особенно в паре с уже имеющимся защитным функционалом бота (многие экспериментируют с нейронными сетями, и иногда получается неплохо).
В комментариях хотелось бы услышать про ваши предпочтения по антиспаму для групп в телеге. Например Protectron мне показался неплохой альтернативой, но лишь в вариации со включенной опцией удаления всех ссылок, что для некоторых чатов вполне приемлемо.
Простите за многабукаф. Если зайдёт, то больше про бота расскажу в следующей серии, а этот топик хотелось закрыть вопросом: «почему у большинства спамеров премиум подписка?»
Прислал мне какой-то, судя по всему бот, вот такой замечательный файл. Полагаю что он с подвохом, так что естественно качать его не хочу. Но когда увидел сообщение, машинально на него нажал. В итоге статус перешёл из "стрелочки скачивания", в вот такой, всем знакомый. Но чтобы установить приложение, нужно ещё раз нажать на него, при этом в папках самой телеги этого апк в скачанных нету. Скачал ли я его?
Всем привет! Мы тут разработали антиспам бота для телеги и он будет бесплатным пока мы не научимся писать код.Десять лет. пока затраты на сервак не будут стоить дороже пары ящиков пива в месяц. До этого еще далеко. Если Вы устали от спама в своей любимой группе - встречайте, @this_is_spam_bot (сайт thisspam.com).
Мы его сделали потому что нам было скучно жить.
Сразу скажу. Раз продукт бесплатный, будет открытым (об этом ниже) и нужен только чтобы было веселее жить - пост без рейтинга. Мы не собираемся на нем зарабатывать.
Короче, сабж! Плохой человек залетает в Ваш канал чтобы обмануть, украсть деньги, устроить работать наркокурьером - бот дговорит: о, видел похожее. И удаляет сообщение.
Внутри нейросеть, мы весело обучали ее на чатах наших знакомых и она обучилась так, что удаляет 99.99% известного спама и почти не дает ложных срабатываний.
Наш любимый пример - чат Улан Батора. Одно время туда писали только спамеры. Нам его подогнали обучать нейросеть. Теперь спамеров почти нет, люди ожили, пишут что-то. Красота? Красота!
Сам бот почти бесплатен для нас в плане обслуживания, мы были бы рады вывалить его код на гитхаб , но мы делаем примерно 6 проектов и у нас кривые руки (если у тебя лучше - молодец, получай печеньку).
Под это дело я даже завел аккаунт в телеге, @this_is_spam_manager, если нужна будет помощь человека. (Пожалуйста не репортьте на меня, я пытаюсь быть лучше чем я есть).
Если Вы все еще читаете, значит мне удалось Вас заинтересовать. Коротко и по делу: * мы храним id пользователей только если они спамеры; * мы никому не сливаем данные (на Савеловском все еще продают базу данных всего мира?); * мы храним текст, спам это или нет; * боту надо только разрешение на удаление сообщений; * нам не нужна Ваша бесценная группа, у нас своих 20 и это БОЛЬ. * меня просто достали спамеры там где я общаюсь и теперь там чисто; * если разрешите боту кикать - будет кикать. Внимание, не банить, а кикать;
Ответы на вопросы! - зачем ты ссюда пишешь? - а ккуда!? Антиспам не гуглят, не ищут в интернете, от спама наши люди предпочитают молча страдать!
- что тебе с этого? - глубинное внутреннее удовлетворение. Денег я заработаю где-нибудь еще.
- че правда не жалко? - вот ты плохой человек, зачем живешь вообще?
- какие планы? - двигать финтех и страдать.
В общем пишите, надеюсь Вам хоть немного подняло настроение в эти скучные времена. Надеюсь Вам хоть немного поможет.
Сыпется в сети ссылки на телегу в стиле поймали снайпершу и наказали, смотреть срочно и ссылка. А по ссылке нихрена. В чем соль этого ? Кто это генерит? Если смысл привлечь аудиторию, то очень спорно. Или дайте уже нормальную телегу где все это смотреть)
Не так давно, примерно 2.5 года назад, я приобрёл себе симку у оператора Yota, закрепленный на меня. (До этого телефонами занимался мой отец, и, фактически, владельцем прошлых моих сим-карт является он. Но зато на них есть архивные тарифы с безлимитом (: ) Сразу после установления номера возникла проблема: в Телеграме и Whatsapp номер уже был зарегистрирован. Доступ я получил, все ведь завязано на смс на номер. И при открытии обнаружил множество неизвестных мне контактов. Позднее со мной связалась прошлая владелица номера, с ней обсудили и утрясли этот момент - её знакомые перестали мне слать мне сообщения (а точнее, голосовухи на южноснгшных языках -_-). Как оказывается, если номер долго не используется, то оператор может его перепродать.
Но осталась проблема: спам. Меня до сих пор регулярно приглашают во всякие телеграмм группы продажи хлама и тряпок (хлама и тряпок потому, что нормальная одежда и вещи продается в специализированных магазинах)
Прошу вашего совета - как избавиться от этой тухлой консервированной ветчины? (Кто не понял, Спам изначально - консервированная ветчина с очень навязчивой рекламой, от чего спам стал именем нарицательным.)