[NEWS] Lols Anti Spam
1.29K subscribers
44 photos
1 video
22 links
Новостной канал проекта @lolsbotcatcherbot

Инструкция: https://telegra.ph/lols-bot-catcher-antispam-bot-05-20
Download Telegram
Так как телеграм не позволяет смотреть историю действий админов дальше, чем за двое суток, а в статистике иногда появляются непонятные пики массовых блокировок от бота, то решил сделать простенький интерфейс для просмотра полной истории блокировок в чате с момента добавления в него бота 🧐

На этой странице могут быть показаны скрытые администраторы, поэтому для сохранения конфиденциальности для каждого чата генерируется уникальная ссылка. Найти эту ссылку можно отправив боту команду /config в личных сообщениях, и выбрать соответствующий чат.

Кроме того, теперь в случае, если пользователь заблокирован (lols_ban), но у него spam_count равен нулю, то всё равно будет отображаться ссылка для просмотра сообщений, которая покажет последнее сообщение пользователя (или слово [attachment], если это была картинка, и бот не смог её загрузить).
API переехал на поддомен - https://api.lols.bot/ (пока что планов закапывать api по старому адресу нет, разве что чуть позже появится deprecation notice)

Также исправил старо-давний баг, из-за которого зачастую результаты параметра banned могли не совпадать в ответах бота и API.

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

Некоторым админам эта кнопка показалась полезной, а некоторые из-за неё перепутали антиспам бота со спам ботом. Сейчас не все заблокированные пользователи видят кнопку, над этим ещё стоит поработать. Позже в профиле пользователя появится возможность отправить апелляцию на свой бан, а пока что там только контакт для связи.
У бота незапланированный технический перерыв 5-10 минут 🤒

UPD: бот ожил, пока не понятно чего он завис, видимо утёк 😒
Несколько изменений произошло в боте:

🔸 справка по командам бота доступна по команде /commands (в качестве префикса для команд бот принимает символы / @ !)

🔹 в настройках появилась опция Простые команды позволяющая использовать те же команды без префикса

🔸 история блокировок теперь отображается полностью, а не с момента добавления бота в чат

🔹 исправил проблему с загрузкой истории блокировок для некоторых чатов, хотя никто и не жаловался

🔸 проверка блокировок через CAS теперь работает корректно, до этого грешил на кэш, а дело было в руках

🔹 при проверке пользователя теперь внизу добавляется кнопка для перехода в профиль в качестве альтернативы profile

🔸 заметил что часто админы удаляют сообщения бота о блокировках, поэтому добавил кнопку для быстрого удаления

🔹 в настройках появилась возможность просматривать белый список чата и немного им управлять

🔸 если раньше белый список защищал только от блокировки, то теперь бот полностью игнорирует сообщения таких пользователей

🔹 временно отключил массовую блокировку пользователей в первые сутки после добавления в чат, ибо некоторые админы сильно пугаются, когда бот блокирует больше, чем у них участников в группе
Ожидал, что ближе к началу учебного года астрологи объявят семестр спокойствия. Количество спама уменьшится в разы 🤨

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

Решил что это знак рассказать про бота на pikabu 🤖
Небольшой апдейт:

🔹 Запустил очередной эксперимент с нейронками, пока что не во всех группах, поскольку работает не ахти. Посмотреть результаты и помочь с разметкой можно в канале @lolsBanFeed. Там публикуются только негативные сработки. После уменьшения количества ошибок этот механизм будет отвечать за автоматическую разблокировку ошибочно заблокированных ботом пользователей.

🔸 В методе API /account добавил параметр scamrsalert содержащий идентификатор сообщения в канале @scamrsalert

🔹 Опция удаления команд теперь включена по умолчанию (если сами не меняли настройку в /config). Также исправлен баг с некорректным определением текста /command как команды

🔸 Исправлена ошибка с удалением сообщений о выходе из группы (ранее удалялось даже при выключенной опции Сервисные сообщения)

🔹 В группах с топиками некоторое время могло не показываться сообщение при добавлении бота в случае, если General топик закрыт, сейчас должно быть исправлено. Хотя с топиками в Bot API по прежнему всё грустно.

🔸 Добавлена возможность отключить проверку через CAS. Он временами сильно жестит. Например в одном проекте разрешено размещать ссылку на их же сайт до 5 групп в неделю. Combot в их группах не используется, но также как и Lols, он наблюдает за ними, и автоматически нараздавал банов там, где их быть не должно. На их сайте говорится, что баны перманентные и обжалованию не подлежат. Попробовал сообщить про эти некорректные баны в их группе обсуждения - никакой реакции не последовало.
В профиле пользователя теперь отображается информация о том, как давно бот заметил, что пользователь поменял имя. Отображаться будет не везде, не всегда корректно, но иногда может быть полезно.

После ошеломительного успеха предыдущего поста на pikabu написал новый, с очень кратким обзором антиспам ботов для тг использующих нейросети (в том числе с открытым исходным кодом).

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

Кликхауз намертво завис и отказывался реагировать на команду restart.

Ближайшие сутки буду не за компом, поэтому надеюсь на лучшее 😳

Полчасика бот ещё будет разгребать накопившуюся очередь, но не уверен что затрёт весь спам, который пропустил.
Please open Telegram to view this post
VIEW IN TELEGRAM
Видимо что-то случилось, и отправка одного сообщения занимает 5 секунд, что у бота, что у простого пользователя.

У бота отправка сообщений реализована в один поток, поэтому он хоть и продолжает работать, но сказать ничего не может. Как проблему исправят - он накидает накопившуюся очередь 🗿

Команда /wl теперь может принимать в качестве параметра user_id или @username. Добавил информацию об этом в /commands, а также описал несколько примеров использования /mute с аргументом.

Также немного исправил проблему с удалением сообщений, теперь меньше должно быть случаев, когда пользователь отмечен как лютый спамер, а его сообщение в чате не удалилось.
На выходных добавил две новых опции, но попросившие их реализовать пользователи так и не успели попробовать, поэтому предлагаю протестировать всем желающим 🤹

Подписка на канал - пользователь группы не сможет отправлять сообщения, пока не подпишется на указанный канал

Кроме очевидной накрутки количества пользователей в канале, была мысль, что для чатов, которые используются для комментариев в канале, это может помочь отсечь ботов, которые не подписываясь на канал сразу отправляют спам.

Принимать все заявки - если в группе включена необходимость ручного одобрения заявок на вступление (Управление группой -> ), то при включении данной опции бот автоматически будет принимать все заявки, кроме тех, кто находится в базе глобального бана у бота.

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

❗️ Обе опции по умолчанию выключены. Для их включения нужно зайти в настройки бота в группе:
- отправив /config в чате или в личных сообщениях боту
- отправив /mychats в личке боту
Please open Telegram to view this post
VIEW IN TELEGRAM
Только я заметил, что бот сегодня писал слишком много сообщений, иногда их дублировал, а некоторые сообщения до сих пор висят не удалёнными? Ни одной жалобы про это в чатах платной и бесплатной поддержки 🤨

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

Попробовал поменять сообщение, которое бот пишет в группу перед удалением. Добавил туда информацию про настройки, белый список и @lolsSupport - а вдруг это поможет?

Из хороших новостей: исправил сортировку, разбивку на страницы и иконочки в /config и /mychats, хотя разницу заметят наверное только те, у кого 50+ чатов. В профиле теперь отображается как давно бот выписал ему глобальный бан. Переписал очередь отправки сообщений, теперь должно быть меньше лагов из-за групп, где у бота нет прав на блокировку и ему приходятся постоянно писать про одних и тех же спамеров. Но это всё равно не помогло, так как бот теперь проверяет пользователей в момент входа в группу, а не при отправке сообщений.

Эта опция называется Фильтр при входе - найти её можно в меню Антиспам, и при инвайтинге лучше отключить. Если конечно в качестве метода наказания не выбрано обеззвучивание.
Бот теперь отлавливает шлюхоботов рекламирующих профиль лайками 🤖 Ко мне лайкоботы редко заглядывают, поэтому надеюсь получить обратную связь от тех, для кого они представляли проблему.

В /mychats и /config недавно пропадали чаты, в которых бот не установлен - исправил это недоразумение и вернул их обратно. Там же теперь иконками отмечены чаты с платной подпиской (кстати: если отключить все платные опции в чате, то подписка в нём деактивируется и её можно использовать для другого чата) 💎

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

На всякий случай отправил в амнистию 300к+ пользователей - спамеры и так повторно в бан уйдут, а нормальные не все могут разобраться как получить разбан. В некоторых чатах админы как увидят сколько бот заблокировал - так бросаются всех их разблокировать, добавляя тем самым всех их в белый список 🗿 Что с этим делать пока не придумал.
Вроде ничего страшного после амнистии не случилось, а после недавних изменений количество ложных сработок (включая просто удаление сообщения) уменьшилось настолько, что за последнюю неделю никому в личку не писал с извинениями 😄

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

Пока что этот вариант работает не полноценно, но если повезёт, то он поможет уменьшить количество мусорных сообщений в самой группе, и заодно исключить проблему, когда пользователь писал длинное сообщение, а бот его просто удалил, заменив своим "подпишись на канал, блэт".

Если опция Принимать все заявки включена, то пользователь получит сообщение и в личку, и в группе (если пропустит то, что пришло в личку, и не подпишется на канал).

❗️ Ну и отдельно хотел сказать про количество мусорных сообщений: в нескольких группах предложил админам отключить капча-бота, и в результате исчезла тонна сообщений "привет %username%, нажми на кнопку, если не..." и "ты не успел нажать на кнопку, я тебя кикнул". И при этом количество спам сообщений не увеличились 🤡

Рекомендую попробовать 😉 В лолс боте тоже когда-нибудь вернётся возможность использовать капчу, но пока что она сломана, и почему-то не хочется чинить.
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕 Добавил в настройках бота новый раздел Утилиты, в нём пока только одна кнопка Список участников, нажав по которой, можно получить доступ к опциям очистки списка заблокированных, и удаления удалённых аккаунтов (которые Deleted Account).

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

На первое время опция будет работать в один поток, поэтому при большом количестве желающих придётся некоторое время подождать в очереди.

🔥 Пока что не появилось возможности использовать, и даже посмотреть свои успехи нельзя, но уже можно делиться добром. Если упомянуть @lolsbotcatcherbot в группе, и после этого его добавят в группу - то получаешь плюсик в карму. Если после упоминания сообщение удалили, а бота не добавили - то минус.

Также можно получить персональную ссылку для своих рефералов отправив боту команду /ads в личные сообщения - с ней такие же правила начисления - если бот увидел что она была в группе, но затем её удалили - штрафик, а если по ней админ перешёл (например из личных сообщений) и добавил бота в свою группу - то плюсик.
Please open Telegram to view this post
VIEW IN TELEGRAM
Говорят что сегодня какой-то необычный по дню недели адок по количеству спамеров, и одно время бот запаздывал сообщить о блокировке. Поэтому на всякий случай хотел написать про две опции:

/config -> Антиспам -> Фильтр при входе

Если отключить эту опцию, то бот не будет блокировать пользователей в момент входа в группу. Только в момент отправки ими сообщения. Возможно в вашей группе спамеры не доживают до этого и успевают удаляться раньше.

/config -> Оформить подписку -> Тихий режим

С тихим режимом у бота не будет проблем с очередью отправки сообщений, потому что он будет молчать даже в тех чатах, где у него нет прав на удаление сообщений и/или блокировку участников 🗿
Оптимизировал очередь отправки настолько, что ночь прошла совершенно тихо. Бот отвечал только на запросы, но блокировал беззвучно, и в бан-чаты тоже ничего не писал 😆

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

Пока база пересчитывается, предлагаю потыкать в ботов Генерач и Мистаро. Зачем они вам - не знаю, а мне за переходы по реферальным ссылкам халявные генерации накинут 🗿
Please open Telegram to view this post
VIEW IN TELEGRAM
Вроде бы всех ошибочно заблокированных вчера разблокировал (и спамеров вместе с ними, но их бот повторно заблокирует при случае). Но если вдруг обнаружили что кто-то остался заблокированным - отправляйте его ник или user_id в @lolsUserbot

Для лучшей видимости ссылку на историю блокировок в меню /config сделал в виде кнопки. Саму страничку пока не трогал, но уже есть планы сделать авторизацию через tg и возможность управлять бан-листом через сайт.

После окончания перепроверки всех сообщений собранных ботом за всё время на спамность, будет ещё одна волна разблокировок, чтобы избавиться от ошибочных сработок сделанных в прошлом.

Но случится это ещё не очень скоро. За один только 2024 год бот обработал 7.5 млрд сообщений, и повторная их обработка займёт некоторое время 🗿
Небольшая заметка про опцию: /config -> Журнал банов

После добавления в группу бот через некоторое время выгружает список заблокированных, поэтому в списке отображаются баны от других администраторов, и заблокированные до добавления бота.

Когда в качестве причины блокировки указано сообщение - то это просто последнее сообщение, которое написал данный пользователь (и не обязательно в этой группе).

Если написано [attachment], то значит сообщение не содержит текста, и это может быть фото, видео, кружочек, стикер, и всякое другое. Если это фото, то при переходе по ссылке иногда получается его показать. Но с теми же видео и кружочками это пока не работает.

Если XX groups - значит пользователь массово зашёл в такое количество групп, но ещё никаких сообщений не отправлял. Количество подобных блокировок можно уменьшить отключив опцию Антиспам -> Фильтр при входе.
😢

UPD: бот очнулся, но пока не пришёл в норму. некоторые функции могут не работать. API также работает в урезанном режиме.