Меня иногда спрашивают: не окажут ли мои запросы api слишком большой нагрузки на сервер, если я буду его дёргать на каждое сообщение, а не только при входе участника в чат?
На что могу ответить, что на данный момент в api нет рейт-лимита. И я бы даже рекомендовал проверять пользователя не только при входе, а как минимум при отправке первого его сообщения в ваш чат. Поскольку спамеры сначала массово заходят по чатам, а лишь потом начинают рассылку. И на момент входа он ещё может быть не отмечен для блокировки.
На фронте сейчас установлен Cloudflare, и для запросов в api установлено кэширование ответов на 5 минут. Поэтому если запрашивать один и тот же user_id, то до моего сервера дойдёт не больше одного (на самом деле больше, но не суть) запроса за 5 минут.
На днях на мой сайт была совершена небольшая DDoS атака, и либо я не нашёл, либо в Cloudflare нет автоматического режима на такой случай, и можно лишь вручную включить режим Under attack, который будет заворачивать 100% запросов на капчу. Но радует то, что CF на бесплатном тарифе не берёт денег за трафик вне зависимости от его объёма 😊
На что могу ответить, что на данный момент в api нет рейт-лимита. И я бы даже рекомендовал проверять пользователя не только при входе, а как минимум при отправке первого его сообщения в ваш чат. Поскольку спамеры сначала массово заходят по чатам, а лишь потом начинают рассылку. И на момент входа он ещё может быть не отмечен для блокировки.
На фронте сейчас установлен Cloudflare, и для запросов в api установлено кэширование ответов на 5 минут. Поэтому если запрашивать один и тот же user_id, то до моего сервера дойдёт не больше одного (на самом деле больше, но не суть) запроса за 5 минут.
На днях на мой сайт была совершена небольшая DDoS атака, и либо я не нашёл, либо в Cloudflare нет автоматического режима на такой случай, и можно лишь вручную включить режим Under attack, который будет заворачивать 100% запросов на капчу. Но радует то, что CF на бесплатном тарифе не берёт денег за трафик вне зависимости от его объёма 😊
👍25🤔1👌1🥴1
Три причины почему спам не удаляется 🤓
🔸 алгоритмы бота не сработали, и он не увидел ничего плохого в сообщении. В таком случае можно ответить командой
🔸 если вы админ в чате, но бот проигнорировал команду
🔸 если в ответ на команду
В крайне редких случаях подобный баг будет на стороне самого telegram, и тогда сообщение будут видеть все пользователи, и удалить его не получится ни у одного админа чата - тут остаётся только ждать.
🔸 алгоритмы бота не сработали, и он не увидел ничего плохого в сообщении. В таком случае можно ответить командой
/report на сообщение спамера. Если команду вызывает админ чата - то реакция последует сразу же; если нет - то после дополнительной проверки.🔸 если вы админ в чате, но бот проигнорировал команду
/report - значит у него есть дела поважнее. Например борьба с oom-killer, выяснение отношений с rabbitmq, перепалка с php-fpm, или просто не поделил чего-то с clickhouse. Или просто из-за очередной вспышки на солнце упало чего-нибудь ещё. Тут можно просто подождать, когда-нибудь бот оживёт. Пока что вариантов резервирования не предусмотрено.🔸 если в ответ на команду
/report бот сказал, что команду нужно отправлять в ответ на сообщение, то загляните в последние действия группы. Вероятнее всего бот уже удалил это сообщение ранее, но из-за бага в клиенте telegram оно продолжает у вас отображаться. Можно удалить это сообщение или перезапустить клиент, и сообщение перестанет вас беспокоить.В крайне редких случаях подобный баг будет на стороне самого telegram, и тогда сообщение будут видеть все пользователи, и удалить его не получится ни у одного админа чата - тут остаётся только ждать.
👍13❤5👌2🐳2
Ближайший час объявлен ботом часом молчания 🤔
Не знаю почему, но
На функционал антиспама это не должно повлиять.
UPD: вроде отпустило, не понял что это было, но на всякий случай сбросил очередь исходящих сообщений. Если отправляли какой-то запрос - нужно повторить.
Не знаю почему, но
sendMessage говоритToo Many Requests: retry after 3600
На функционал антиспама это не должно повлиять.
UPD: вроде отпустило, не понял что это было, но на всякий случай сбросил очередь исходящих сообщений. Если отправляли какой-то запрос - нужно повторить.
🤔5🙏2😁1👌1
Добавил возможность менять базовые настройки бота, а также несколько новых опций, которые по умолчанию выключены во всех чатах. Для вызова меню настроек можно воспользоваться командой
В настоящее время бот редко пишет в чаты о блокировке спамеров, так как он это делает в основном для тех, у кого spam_count > 0. А если вы вдруг проверяли блокируемых ботом пользователей, то у них часто можно заметить отсутствие отмеченных как спам сообщений.
В ближайшее время планирую исправить данный недостаток, в результате чего сообщений от бота в чатах может стать в 2-3 раза больше. И хотя они выглядят не так вызывающе, как сообщения спамеров, и остаются в чате на 30 секунд, но всё равно могут раздражать. Поэтому появилась первая платная опция в боте - Тихий режим.
В качестве платёжного шлюза выбрал Boosty. Хоть он и косячит с приёмом карт, у них нет возможности использовать больше одного языка на сайте, да и возможности кастомизации стоимости подписки ограничены. Но зато из коробки есть интеграция с telegram.
Кстати, если интересно проверить пользователя, у которого нет @username и ваш клиент не показывает его user_id, то можно добавить его в контакты, а затем поделиться контактом с ботом 😳
/config в чате или диалоге с ботом.В настоящее время бот редко пишет в чаты о блокировке спамеров, так как он это делает в основном для тех, у кого spam_count > 0. А если вы вдруг проверяли блокируемых ботом пользователей, то у них часто можно заметить отсутствие отмеченных как спам сообщений.
В ближайшее время планирую исправить данный недостаток, в результате чего сообщений от бота в чатах может стать в 2-3 раза больше. И хотя они выглядят не так вызывающе, как сообщения спамеров, и остаются в чате на 30 секунд, но всё равно могут раздражать. Поэтому появилась первая платная опция в боте - Тихий режим.
В качестве платёжного шлюза выбрал Boosty. Хоть он и косячит с приёмом карт, у них нет возможности использовать больше одного языка на сайте, да и возможности кастомизации стоимости подписки ограничены. Но зато из коробки есть интеграция с telegram.
Кстати, если интересно проверить пользователя, у которого нет @username и ваш клиент не показывает его user_id, то можно добавить его в контакты, а затем поделиться контактом с ботом 😳
🔥13👍9❤5👌1
Не сразу обратил внимание, что на экране мобильного телефона текст не влезает в кнопки, но спасибо добрым людям - подсказали. Заменил часть текста на иконки, теперь должно стать лучше.
Также добавил вторую платную опцию - возможность заменить бан на мьют. Опция пригодится тем, кто планирует накручивать счётчик пользователей чата за счёт спамеров. В качестве минуса можно отметить то, что обеззвученные пользователи смогут продолжить спамить реакциями.
Также добавил вторую платную опцию - возможность заменить бан на мьют. Опция пригодится тем, кто планирует накручивать счётчик пользователей чата за счёт спамеров. В качестве минуса можно отметить то, что обеззвученные пользователи смогут продолжить спамить реакциями.
👍12❤4🔥3👌1
В дополнение к посту про просмотр user_id для пользователей без @username хотел показать ещё один возможный вариант.
Для проверки пользователя без @username и сообщений в чате можно добавить его в контакты (делиться своим номером телефона с ним не обязательно), а затем поделиться этим контактом с ботом. Если у пользователя публично не отображается номер телефона, то для отправки контакта боту следует использовать кнопку вызываемую командой /share
Такой вариант не сработает, если бот сам нигде не видел данного пользователя, но он хотя бы подскажет его
Для проверки пользователя без @username и сообщений в чате можно добавить его в контакты (делиться своим номером телефона с ним не обязательно), а затем поделиться этим контактом с ботом. Если у пользователя публично не отображается номер телефона, то для отправки контакта боту следует использовать кнопку вызываемую командой /share
Такой вариант не сработает, если бот сам нигде не видел данного пользователя, но он хотя бы подскажет его
user_id в ответе.👍4😁1👌1🥴1
На этой неделе бот был установлен в 3000-й чат! 🥳
Хотел сказать большое спасибо за активный вклад нескольких пользователей в канал Scam Alert. В качестве благодарности решил подарить Premium подписку на пол года. Говорят что она уменьшает вероятность получить бан (не просто же так большинство спамеров и мошенников её покупают?). Хотя полностью его и не исключает, но что-ж поделаешь, хотя бы будет возможность наблюдать за большим количеством чатов одновременно 😁
Наградной список:
🎁 Мама, я в Москве (в Дубае)
🎁 Lolosha
🎁 Ekaterina
🎁 Бузя Buzova86
🎁 Nike Borzov
P.S. заодно опробуем новый scam trap: #airdrop #giveaway #free #premium 🗿
Хотел сказать большое спасибо за активный вклад нескольких пользователей в канал Scam Alert. В качестве благодарности решил подарить Premium подписку на пол года. Говорят что она уменьшает вероятность получить бан (не просто же так большинство спамеров и мошенников её покупают?). Хотя полностью его и не исключает, но что-ж поделаешь, хотя бы будет возможность наблюдать за большим количеством чатов одновременно 😁
Наградной список:
🎁 Мама, я в Москве (в Дубае)
🎁 Lolosha
🎁 Ekaterina
🎁 Бузя Buzova86
🎁 Nike Borzov
🔥29👍20❤10🏆8
Хотите поддержать бота донатом?
Настроил пять вариантов:
➡️ https://pay.cloudtips.ru/p/4ebef06a
➡️ https://boosty.to/lolsantispam
➡️ https://t.me/tribute (проще всего платить картой)
➡️
⭐️ ↘️
Настроил пять вариантов:
➡️ https://pay.cloudtips.ru/p/4ebef06a
➡️ https://boosty.to/lolsantispam
➡️ https://t.me/tribute (проще всего платить картой)
➡️
TMMDhYBByoJJHdHcmEL5GeZGai7j8ogBcg usdt(TRX)0xF8785Ff3A6e5FFAd1a332965C62d65Aec5B53b39 usdt(ETH)Please open Telegram to view this post
VIEW IN TELEGRAM
255👍38🔥16😡7👎4
[NEWS] Lols Anti Spam Bot pinned «Хотите поддержать бота донатом? Настроил пять вариантов: ➡️ https://pay.cloudtips.ru/p/4ebef06a ➡️ https://boosty.to/lolsantispam ➡️ https://t.me/tribute (проще всего платить картой) ➡️ TMMDhYBByoJJHdHcmEL5GeZGai7j8ogBcg usdt(TRX) 0xF8785Ff3A6e5FFAd1…»
Ночь прошла тихо, никто никаких ссылок не писал, потому что у бота снесло крышу, и он решил банить всех, кто присылал ссылки (на чаты в тг) в чаты 🙈
Сейчас отправил в разбан всех забаненных ботом этой ночью, отключил эту опцию и постараюсь разобраться что пошло не так. Извините за доставленные неудобства.
UPD: на всякий случай разбанил вообще всех забаненных за ночь. кто за дело получил - повторно получат 😅 а кто по ошибке был забанен - разослал в личку ссылки на чаты
Сейчас отправил в разбан всех забаненных ботом этой ночью, отключил эту опцию и постараюсь разобраться что пошло не так. Извините за доставленные неудобства.
UPD: на всякий случай разбанил вообще всех забаненных за ночь. кто за дело получил - повторно получат 😅 а кто по ошибке был забанен - разослал в личку ссылки на чаты
❤24👍16🥰6😁4
Выглядит как признание 😆
Благодаря этим мошенникам обнаружил странный баг Bot API Telegram: при попытке удалить сообщение возвращается ответ ОК или Сообщение не найдено, но при этом сообщение остаётся в чате, его можно переслать и его видят остальные пользователи 😒
И проблема касается не только чужих сообщений - свои бот тоже не всегда может удалить. Ранее подобный баг ловил с функцией блокировки пользователей. Поддержка тогда развела руками. Сейчас попробовал повторить удаление сообщений через MTProto - и всё получилось 🤨
Воткнул костыль, надеюсь теперь меньше пропусков будет.
Ещё из полезного: пару дней тестирую функцию автоматического белого списка. Пока что без каких-либо уведомлений и возможности управления, но уже работает. Если администратор разблокирует пользователя, которого ранее заблокировал лолс бот - то пользователь добавляется в белый список и дальше бот полностью закрывает глаза на его действия в том чате, где он был разблокирован.
Благодаря этим мошенникам обнаружил странный баг Bot API Telegram: при попытке удалить сообщение возвращается ответ ОК или Сообщение не найдено, но при этом сообщение остаётся в чате, его можно переслать и его видят остальные пользователи 😒
И проблема касается не только чужих сообщений - свои бот тоже не всегда может удалить. Ранее подобный баг ловил с функцией блокировки пользователей. Поддержка тогда развела руками. Сейчас попробовал повторить удаление сообщений через MTProto - и всё получилось 🤨
Воткнул костыль, надеюсь теперь меньше пропусков будет.
Ещё из полезного: пару дней тестирую функцию автоматического белого списка. Пока что без каких-либо уведомлений и возможности управления, но уже работает. Если администратор разблокирует пользователя, которого ранее заблокировал лолс бот - то пользователь добавляется в белый список и дальше бот полностью закрывает глаза на его действия в том чате, где он был разблокирован.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍10❤🔥3🔥1
Эксперимент с
UPD: некоторое время он ещё пострадает такой фигнёй, отправляя повторно ответы на запросы
Local Bot API Server пошёл не по плану, бот решил повторно обработать 100000 последних сообщений. Надеюсь ничего страшного не произойдёт 🤒UPD: некоторое время он ещё пострадает такой фигнёй, отправляя повторно ответы на запросы
🔥5👌5🥴2🤔1
По прежнему не смог решить проблему с удалением сообщений, про которую писал недавно, и поддержка всё также игнорирует вопросы.
И с каждым новым днём становится только хуже, а сегодня прям совсем грустно. Сегодня на большую часть попыток удаления сообщения api telegram отвечает
UPD: оказалось что проблема известная, и проявляется тем чаще, чем больше у бота аудитория. А самое грустное, что нормального решения для неё нет, поддержка также игнорирует подобные вопросы. Штош, значит займусь доработкой возможности создавать клонов бота, чтобы распределить аудиторию.
И с каждым новым днём становится только хуже, а сегодня прям совсем грустно. Сегодня на большую часть попыток удаления сообщения api telegram отвечает
Bad Request: message to delete not found. При этом права в чате есть и сообщение в чате не удалено.UPD: оказалось что проблема известная, и проявляется тем чаще, чем больше у бота аудитория. А самое грустное, что нормального решения для неё нет, поддержка также игнорирует подобные вопросы. Штош, значит займусь доработкой возможности создавать клонов бота, чтобы распределить аудиторию.
🤔11👍3🌚3🗿2
Произвёл некоторые доработки, оптимизировал работу с базой, накидал дополнительных костылей, и вроде бы уже пару недель проблемы с удалением сообщений не заметно, и в целом бот чаще успевает удалять спам, до того, как самые быстрые на диком западе админы успевают отправить
Также бот теперь будет раздавать больше банов, так как научился лучше определять похожие аккаунты по их сообщениям, а также более корректно собирать список участников групп (чтобы банить только тех, кто в группе состоит, не портя статистику). Поэтому хотел на всякий случай напомнить про функцию платной подписки, которая позволяет спамеров превращать всвою аудиторию мёртвые души.
На скриншоте для примера одна группа с активностью ~50 спамеров за сутки, с подключенной опцией, и вторая группа со среднесуточным числом блокируемых 20 штук, но без подключенной опции.
Для управления настройками бота и оформления подписки нужно отправить команду /config в группу или личным сообщением боту.
/report в ответ на сообщение спамера 🌚 По скорости ответа в личке при проверке пользователя (особенно при использовании @username) пока ещё остаются вопросы.Также бот теперь будет раздавать больше банов, так как научился лучше определять похожие аккаунты по их сообщениям, а также более корректно собирать список участников групп (чтобы банить только тех, кто в группе состоит, не портя статистику). Поэтому хотел на всякий случай напомнить про функцию платной подписки, которая позволяет спамеров превращать в
На скриншоте для примера одна группа с активностью ~50 спамеров за сутки, с подключенной опцией, и вторая группа со среднесуточным числом блокируемых 20 штук, но без подключенной опции.
Для управления настройками бота и оформления подписки нужно отправить команду /config в группу или личным сообщением боту.
👍23🔥5🤔1👌1
Ваше отношение к превентивным блокировкам в группах?
Anonymous Poll
21%
Нужно банить даже тех, кто не состоит в группе, не смотря на то, что это будет портить статистику
11%
Банить стоит только тех, кто состоит в группе, не зависимо от того, писали ли они что-то
34%
Не нужно банить тех, кто не проявлял активности в группе. Должно быть видно за что бан
30%
Единого варианта быть не может - опция должна быть настраиваемой
5%
Свой вариант, напишу в комментах
👍2❤1🤔1👌1
Так как телеграм не позволяет смотреть историю действий админов дальше, чем за двое суток, а в статистике иногда появляются непонятные пики массовых блокировок от бота, то решил сделать простенький интерфейс для просмотра полной истории блокировок в чате с момента добавления в него бота 🧐
На этой странице могут быть показаны скрытые администраторы, поэтому для сохранения конфиденциальности для каждого чата генерируется уникальная ссылка. Найти эту ссылку можно отправив боту команду /config в личных сообщениях, и выбрать соответствующий чат.
Кроме того, теперь в случае, если пользователь заблокирован (lols_ban), но у него spam_count равен нулю, то всё равно будет отображаться ссылка для просмотра сообщений, которая покажет последнее сообщение пользователя (или слово [attachment], если это была картинка, и бот не смог её загрузить).
На этой странице могут быть показаны скрытые администраторы, поэтому для сохранения конфиденциальности для каждого чата генерируется уникальная ссылка. Найти эту ссылку можно отправив боту команду /config в личных сообщениях, и выбрать соответствующий чат.
Кроме того, теперь в случае, если пользователь заблокирован (lols_ban), но у него spam_count равен нулю, то всё равно будет отображаться ссылка для просмотра сообщений, которая покажет последнее сообщение пользователя (или слово [attachment], если это была картинка, и бот не смог её загрузить).
👍24❤6🔥1👌1
API переехал на поддомен - https://api.lols.bot/ (пока что планов закапывать api по старому адресу нет, разве что чуть позже появится
Также исправил старо-давний баг, из-за которого зачастую результаты параметра
Из-за этого бот стал чаще блокировать пользователей в момент входа в чат (а не отправки сообщения), и не всегда по делу (за неделю набралось штук 10 ложных сработок). С целью упростить процесс восстановления доступа к группе добавил к сообщениям о блокировке кнопку с шорткатом на профиль заблокированного пользователя в боте.
Некоторым админам эта кнопка показалась полезной, а некоторые из-за неё перепутали антиспам бота со спам ботом. Сейчас не все заблокированные пользователи видят кнопку, над этим ещё стоит поработать. Позже в профиле пользователя появится возможность отправить апелляцию на свой бан, а пока что там только контакт для связи.
deprecation notice)Также исправил старо-давний баг, из-за которого зачастую результаты параметра
banned могли не совпадать в ответах бота и API.Из-за этого бот стал чаще блокировать пользователей в момент входа в чат (а не отправки сообщения), и не всегда по делу (за неделю набралось штук 10 ложных сработок). С целью упростить процесс восстановления доступа к группе добавил к сообщениям о блокировке кнопку с шорткатом на профиль заблокированного пользователя в боте.
Некоторым админам эта кнопка показалась полезной, а некоторые из-за неё перепутали антиспам бота со спам ботом. Сейчас не все заблокированные пользователи видят кнопку, над этим ещё стоит поработать. Позже в профиле пользователя появится возможность отправить апелляцию на свой бан, а пока что там только контакт для связи.
👍13❤3😁1👌1
У бота незапланированный технический перерыв 5-10 минут 🤒
UPD: бот ожил, пока не понятно чего он завис, видимо утёк 😒
UPD: бот ожил, пока не понятно чего он завис, видимо утёк 😒
😢13🖕4❤1👌1
Несколько изменений произошло в боте:
🔸 справка по командам бота доступна по команде
🔹 в настройках появилась опция
🔸 история блокировок теперь отображается полностью, а не с момента добавления бота в чат
🔹 исправил проблему с загрузкой истории блокировок для некоторых чатов, хотя никто и не жаловался
🔸 проверка блокировок через CAS теперь работает корректно, до этого грешил на кэш, а дело было в руках
🔹 при проверке пользователя теперь внизу добавляется кнопка для перехода в профиль в качестве альтернативы
🔸 заметил что часто админы удаляют сообщения бота о блокировках, поэтому добавил кнопку для быстрого удаления
🔹 в настройках появилась возможность просматривать белый список чата и немного им управлять
🔸 если раньше белый список защищал только от блокировки, то теперь бот полностью игнорирует сообщения таких пользователей
🔹 временно отключил массовую блокировку пользователей в первые сутки после добавления в чат, ибо некоторые админы сильно пугаются, когда бот блокирует больше, чем у них участников в группе
🔸 справка по командам бота доступна по команде
/commands (в качестве префикса для команд бот принимает символы / @ !)🔹 в настройках появилась опция
Простые команды позволяющая использовать те же команды без префикса🔸 история блокировок теперь отображается полностью, а не с момента добавления бота в чат
🔹 исправил проблему с загрузкой истории блокировок для некоторых чатов, хотя никто и не жаловался
🔸 проверка блокировок через CAS теперь работает корректно, до этого грешил на кэш, а дело было в руках
🔹 при проверке пользователя теперь внизу добавляется кнопка для перехода в профиль в качестве альтернативы
profile🔸 заметил что часто админы удаляют сообщения бота о блокировках, поэтому добавил кнопку для быстрого удаления
🔹 в настройках появилась возможность просматривать белый список чата и немного им управлять
🔸 если раньше белый список защищал только от блокировки, то теперь бот полностью игнорирует сообщения таких пользователей
🔹 временно отключил массовую блокировку пользователей в первые сутки после добавления в чат, ибо некоторые админы сильно пугаются, когда бот блокирует больше, чем у них участников в группе
3👍20😁8🔥5❤3