Телеграм бот для удаления спама
Решил написать эту публикацию т.к. устал объяснять одно и то же людям, которые хотят использовать моего телеграм бота @daysandbox_bot. Итак, несколько месяцев назад я разработал бота для удаления спама по очень простому признаку: если человек зашёл в чат и провёл в нём менее суток, то любые ссылки или forward сообщения от этого человека удаляются. Всё. Никаких нейронных сеток, анализа частотности, модерируемых white- и black-листов и прочих сложных вещей. На удивление бот приобрёл некоторую популярность и работает уже более чем в шестистах чатиках. Далее я попытаюсь развёрнуто описать принцип работы бота, чтобы в дальнейшем давать ссылку на эту статью.
Принцип работы бота
С момента добавления в чат бот отслеживает события захода новых пользователей в группу и тем самым знает, когда кто зашёл в чат и сколько времени он уже провёл в чате. В силу ограничений telegram API я не могу узнать, когда к чату присоединились те пользователи, которые уже были на момент добавления бота в чат. Бот никак не анализирует сообщения от пользователей, существующи на момент добавления бота. Итак, бот знает, когда новые пользователи зашли в чатик. Если бот видит, пользователь провёл в чате меньше суток и запостил сообщение, удовлетворяющее определению спама, то бот удаляет такое сообщение. Он не банит пользователя, не ставит ему read-only права, бот просто удаляет сообщение со спамом. Если пользователь запостит не-спам сообщение, то оно будет опубликовано. Какие сообщения считаются спамом? Во-первых, любые сообщения содержащие ссылку: URL, email или username. Во-вторых, любые forward-сообщения т.е. сообщения пересланные из другого чата. Для правила username есть исключение, если username ссылается на пользователя, то такое сообщение разрешается. Бот удаляет только те сообщения с username, которые ссылаются на группу или канал. Это сделано для того, чтобы не было ложных срабатываний, когда новый пользователь просто пытается обратиться к какому-то участнику чата по его username.
Что бот daysandbox_bot НЕ делает
- Бот не банит никого и никогда
- Бот никак не фильтрует сообщения от тех участников чата, что уже были в чате на момент добавления бота
- Бот фильтрует сообщения только тех пользователей, которые провели в чате менее суток. Если пользователь провёл в чате больше суток, его сообщения никак не обрабатываются ботом
- Бот никак не анализирует текст сообщения, он просто удаляет сообщения со ссылками. Всё.
Как правильно добавить бота в чат
Описываю алгоритм для desktop клиента. Подразумевается, что вы админ чатика и можете добавлять в него других админов.
- Заходим в чатик, кликаем на название чатика сверху
- В открывшемся окне сверху справа от надписи «Информация о группе» кликаем на иконку из трёх точек
- В открывшемся меню кликаем на «Управление группой»
- В открывшемся меню кликаем на «Администраторы»
- В открывшемся окне снизу кликаем на «Добавить администратора»
- В открывшемся окне в строке поиска вводим daysandbox_bot
- В обновившихся результатах поиска кликаем на DaySandBox бота, у него должна быть жёлтая иконка пакмэна.
- В открывшемя окне выставляем боту права на удаление сообщений, все остальные права отключаем.
- Жмём «Сохранить»
Настройки бота
У бота есть несколько настроек.
Напишите в чатик /daysandbox_set safe_hours=N для задания времени, в течении которого сообщения новых пользователей анализируются на признаки спама. По-умолчанию, этот период равен суткам. Вы можете указать количество часов от нуля до 8760 (один год). Период равный нулю часам по сути деактивирует бота.
Напишите в чатик /daysandbox_set publog=yes чтобы разрешить боту писать сообщения в чат о том, что сообщение какого-либо пользователя было удалено. По-умолчанию, бот именно это и делает.
Текущие значения этих двух настроек можно получить командой /daysandbox_config .
Немного статистики
Мне лень рисовать красивые графики, скажу лишь, что бот за день бот удаляет от 10 до 15 тысяч сообщений и работает более чем в 600 чатиках.
Open Source
Исходники бота находятся в открытом доступе на github.
UPD (11 февраля, 2019): на данный момент в репозитории находятся исходники устаревшей версии бота. Исходников актуальной версии бота я не предоставляю.
Две настройки Telegram для защиты от спама
К сожалению спам начинает появляться и в Телеграм. Читатели подсказали, как запретить добавление в спам-группы и как заблокировать спам от «Уведомление бот».
В последнее время меня часто стали добавлять в группы и я уже устал нажимать «Выйти и сообщить о спаме».
Оказывается в Телегам можно запретить незнакомым людям добавлять вас в группы.
Это делается так: в главном окне Телеграм нажимаем три полоски в левом верхнем углу — Настройки — Конфиденциальность — Группы и каналы. Переключаем настройку «Кто может добавлять меня в группы?» с «Все» на «Мои контакты».
С некоторых пор мне начал приходить спам от «Уведомление бот». Откуда он взялся не знаю — совершенно точно ни на какие странные ссылки я не кликал и такого бота не запускал.
Бороться с ним можно так: Нажимаем на иконку бота в заголовке, в открывшемся окне информации о боте нажимаем три точки в верхнем правом углу — там жмём «Остановить бота».
После этого в той же строке настройка сменится на «Перезапустить бота» и нажимать туда конечно же больше не нужно.
Надеюсь, эти две простые настройки сделают вашу жизнь чуть-чуть комфортнее.
Как эффективно удалить спамные ссылки в Телеграмме — вручную и автоматически
В Телеграме пользователи могут не только публиковать текстовые сообщения, фотографии и другие медиа, но и размещать ссылки на сторонние ресурсы. Если URL больше не нужен, то его допускается удалить. Рассмотрим пошаговую инструкцию, как удалить ненужные ссылки в Телеграмме.
Как очистить Телеграмм от ссылок
Медиа-материалы, размещенные в пабликах, перемещаются в отдельное хранилище, где их можно редактировать, пересылать, сохранять историю во внутреннюю память мобильного устройства или персонального компьютера. В это хранилище заносятся и ссылки, которые допускается открывать, копировать и удалять. Очистить линки можно на мобильном телефоне, персональном компьютере и через веб-клиент мессенджера.
Очистка на Android
Чтобы удалить лишние ссылки и медиа на устройстве Андроид, нужно:
- Открыть Телеграмм чат.
- Тапнуть по аватарке паблика или наименованию.
- Прокрутить перечень до пункта «Медиа».
- Здесь выбрать раздел «Ссылки».
- Сделать длинный тап (применить жест удержание) по адресу.
- Вверху окна программы появится панель инструментов.
- Коснуться пиктограммы с изображением корзины.
На экране появится всплывающее меню, где нужно подтвердить действие, тапнув по кнопке «ОК».
Удаление ссылок на iPhone
Удалить ссылки на телефоне iPhone можно по следующему алгоритму:
- На стартовом экране Телеграмм зайти в чат.
- Тапнуть по названию или описанию сообщества.
- Во всплывающем окошке прокрутить перечень настроек.
- Внизу активировать функцию «Медиа».
- В новом диалоговом меню нажмите надпись Ссылки.
- Используя жест удержание, отметить гиперссылки, которые требуется удалить.
- Вверху тапнуть по пиктограмме корзины.
Отобразится всплывающее окно, где нужно коснуться кнопки «Применить». Для сохранения параметров вверху нажать «Готово».
Как удалить на персональном компьютере
Инструкция подходит для десктопной и портативной версии Телеграмм:
- Выполнить запуск мессенджера с рабочего стола.
- В ленте зайти в беседу, щелкнуть по наименованию профиля или аватарке сообщества.
- Откроется всплывающее окно «Информация о группе».
- Прокрутить перечень и кликнуть по пиктограмме с двумя звеньями цепи.
- Отобразится список опубликованных в Телеграмм чате ссылок.
- Щелкнуть правой кнопкой мыши по наименованию URL.
- В диалоговом окошке активировать параметр «Удалить».
Во всплывающем меню подтвердить действие, кликнув «ОК».
Инструкция для Web Telegram
Через веб-клиент также можно удалить URL:
- Авторизоваться на официальном сайте Web Telegram.
- Дождаться загрузки главной страницы Телеграмм.
- В перечне чатов зайти в сообщество.
- В диалоговом окне щелкнуть по наименованию или аватарке паблика.
- Откроется боковое меню «Profile».
- Прокрутить перечень вниз до хранилища медиа.
- Выбрать пункт «Ссылки».
- Кликнуть по адресу, который нужно убрать.
Появится всплывающее окно, где требуется указать действие – «Удалить».
Особенности ссылок Telegram
Телеграмм отличается тем, что допускает два вида ссылок.
- Внутренние адреса имеют вид @никнейм. Они используются для поиска контактов и пабликов в сети самого мессенджера. Боты имеют аналогичный вид гиперссылок.
- Внешние линки — это обычные URL типа https://t.me/никнейм. Их уже можно размещать вне Телеграма, в соцсетях, на сайтах, в видеороликах.
Используем бот «Робот WatchDog» для ликвидации ссылок в чатах Телеграмм
Для автоматического удаления всех опубликованных гиперссылок, потребуется установить бота. Особенность программного обеспечения – адреса, размещенные администратором Телеграмм сообщества, не убираются. Работает приложение по следующему принципу:
- пользователь запускает бота;
- приложение отправляет команду с параметрами к официальному Telegram Bot API;
- мессенджер отвечает JSON-объектом.
Рассмотрим, как добавить робота в чат и начать им пользоваться.
Добавление бота очистки в сообщество и его настройка
Нужно зайти на официальный сайт разработчика программного обеспечения WatchDog Robot и на главной странице нажать на кнопку «Добавить бота». После добавления выполняются следующие шаги:
- Назначить бота администратором группы, используя команду @watchdog reload_admins.
- Установить для приложения разрешение на удаление URL, прописав /watchdog block link;
- Отключить оповещения об успешно удаленных адресах, указав /watchdog set notify_actions=no.
Теперь URL, которые опубликовывают пользователи будут автоматически удаляться.
Альтернативный способ удаления ссылок
Способ позволяет удалить скопированную ссылку в Телеграмме через сам чат.
Важно! Вместе с адресом навсегда удаляется пост для всех пользователей и восстановить его будет нельзя.
Сделать это можно на Android, iPhone и персональном компьютере.
Пошаговая инструкция для Андроид:
- В ленте Телеграмм зайти в сообщество.
- Отыскать пост, где присутствует URL.
- Используя жест удержание выделить публикацию.
- Вверху окна программы коснуться пиктограммы корзины.
Остается подтвердить действие, тапнув по красной кнопке.
Чтобы ссылку в Телеграмме удалить на Айфоне:
- Войти в Телеграмм чат.
- Используя поиск, отыскать публикацию с внешней ссылкой.
- Сделать длинный тап по сообщению.
- На панели действий нажать по пиктограмме корзины.
Во всплывающем окне необходимо коснуться кнопки «Удалить».
Функция доступна в десктопной и портативной версии мессенджера Телеграмм:
- Запустить программное обеспечение.
- Дождаться загрузки ленты.
- Зайти в переписку и найти публикацию, содержащую URL.
- Нажать по посту правой кнопкой мыши.
- Отобразится диалоговое окно, где нужно нажать «Удалить».
Появится всплывающее меню, где требуется подтвердить действие, кликнув по вкладке «ОК».
Вопросы и ответы
Как удалить ссылку на свой аккаунт при пересылке сообщения?
При пересылке к сообщению автоматически добавляется ссылка на аккаунт. Очень часто это нежелательное дополнение. Чтобы этого избежать, рекомендуется:
- Войти в настройки Телеграмм.
- Открыть опцию Конфиденциальность.
- В новом перечне в разделе «Конфиденциальность» найти «Пересылка сообщений — Мои Контакты.
- Установить чекбокс напротив «Никто».
Ниже можно дополнительно настроить исключения из правил, дав разрешение на добавление ссылки отдельным людям из адресной книги.
DeFensy_bot — Телеграм бот для удаления спам-ссылок из комментариев ваших каналов
Если вы заметили, что ваш канал в телеграме засыпает в комментариях ссылками на разные интересные способы познакомиться, и вас это порядком напрягает — чтож, выход есть! Я сделал бота @DeFensy_bot, который помогает чистить все это непотребство. Бот бесплатный, и вы прям сейчас можете поставить его у себя.
Такой вид спама появился давно, еще до пошлых девчонок , но после введения комментариев в каналах его количество резко выросло. Наверное вы видели такое и, возможно, даже переходили по ссылке, надеясь найти что-то интересное, а не очередной канал по крипте или вебкам:
В последние недели количество таких комментариев стало лавинообразно расти, появляются все новые вариации. Есть вероятность, что к этому виду спама пришла команда от бывших девчат? Вполне возможно. И если так, то ребята-спамеры — молодцы, быстро переобулись и освоили новые техники и методики. Их работу в целом не одобряю, конечно, но ход мыслей и попытки засветиться как можно в большем количестве каналов — интересны. Чисто профессионально.
И конечно, отдельное “спасибо” одному отечественному регистратору доменов, который внес свой скромный вклад в распространение спама, пачками раздавая бесплатные промокоды на домены в зоне .site, которым сейчас усыпан весь телеграм.
Решение, честно говоря, вышло из моей предыдущей статьи, когда люди жаловались на такой вид спама. Сам я тоже его часто вижу, поэтому – почему бы не попробовать? Тем более, он пришел на канал, который я помогаю вести, и теперь уже у меня каждое утро начиналось не с кофе, а с удаления таких вот ссылок.
Мне потребовалось пару дней, чтоб сделать на коленке бота @DeFensy_bot, который бы очищал от ссылкоспама. Также спасибо тем людям, кто написал в личку здесь, на сайте, и предоставил свой канал для тестов. Получилось на мой взгляд, очень даже хорошо.
Сейчас к боту уже подключено 200 чатов. За 1 ночь удаляется
В DeFensy заложен антиспам фильтр для ссылок, сейчас есть 3 режима работы:
- Удалять все ссылки. Да, вообще все. Абсолютно. Подходит для тех, кто нетерпим к самому факту существования чужих ссылок и признает только свои ссылки, оставленные собственноручно;
- Удалять только из блеклиста (который я постепенно пополняю после репортов пользователей), если боитесь, что бот удалит что-то очень крутое и важное, присланное от ваших пользователей;
- “Интеллектуальный режим” , который трет ссылки выборочно, по алгоритму рожденному за пару вечеров и пару коктейлей. Иногда бывает промазывает, но статистика копится, алгоритм крутится.
В общем, можно самостоятельно выбрать режим под уровень вашей тревожности 🙂
Сейчас бот заточен чисто под комментарии каналов. В будущем планирую расширить функционал и на содержание чатов. Подробная справка и настройки бота есть в описании и по команде /help.
После добавления, главное, не забудьте дать права этому боту для удаления сообщений и бану спамеров.
Да, возможно сейчас работает не все идеально, что-то пропускается, но пользователь всегда может удалить и отослать репорт для изучения. Москва не сразу строилась 🙂
Не так давно в Телеграм вышло обновление — сейчас в открытых чатах можно писать от лица каналов. С какой целью это сделано мне лично не очень понятно. Выглядит это примерно так.
Возможно, если у вас есть канал, то могли заметить возможность переключения и отправки сообщений от его лица.
В целом, на мой взгляд это еще одна возможность оставить спамный комментарий, и сохранить свой основной аккаунт инкогнито. На практике я пока только пару раз наблюдал такие атаки, когда от лица канала присылается вал сообщений пикантного содержания, и не понятно от кого они. Чтоб такого не было — надо действовать превентивно, поэтому в бот был добавлен фильтр для чужих каналов и белый список, с которых можно оставлять комментарии. Все это при необходимости гибко настраивается.
Текущий функционал бота – бесплатный. Вы можете легко поставить его у себя и пользоваться. Однако, есть одно требование – держать бота активным (т.е. нажать /start в личных сообщениях) и быть подписанным на мой телеграм канал https://t.me/botsbaseru , где я рассказываю о полезных ботах. Все доп. возможности теперь только тем, кто выполнил эти условия 🙂 Они — не сложные, но придают мотивации работать дальше. Спасибо!
Комментарии, отзывы и пожелания оставлять здесь , буду рад!
Есть еще как минимум 3 крутых бота-помощника SMMщика:
Геннадий (https://t.me/smmgenabot) — подобрать хештеги по слову/фото, спарсить хештеги конкурента, удалить фон с фото.
Creoscan (https://t.me/creoscanbot) — скачать медиа из TikTok, Instagram, YouTube и Pinterest. Музыку из Reels.
DataFan (https://t.me/datafan_bot) — экспресс-анализ телеграм канала, лучшее время для публикации в Instagram.
В чатах стало спокойнее
Проблема что по каналам собирают базу и потом спамят в личку вот с этим что делать
По каналу никак не собрать базу. Или речь про привязанный чат?
В любом случае, спама в личку пока не видел, кроме пары случаев рекламы крипты, но в этих случаях сидел живой человек.
есть такое, сажусь в крипто-чат и через некоторое время мне начинает написывать армия спаммеров
но эту проблему видимо нельзя решить ботом
В настройках поставь, кто может тебе писать. Ограничился списком контактов и жить стало спокойней. Если кому-то сильно нужно, то можно оставить дополнительные контакты в описании профиля.
я в телеге много времени провожу, часто общаюсь с незнакомцами, и они часто со мной общаются, так что не вариант к сожалению 🙁
Если под надписью «удалил(а) сообщение» горит само это сообщение, то в чем прикол?
И почему «удалил(а)», он ещё не определился?
Автору нужно сделать фикс и подтирать за собой системные сообщения. Либо владельцу чата добавить еще одного бота, который трет все сист сообщения
Системные понятно, но на скриншоте автора, под системными вижу сами эти сообщения.
Я не понимаю
Это чат владельца канала с ботом
Это я и так понимаю.
Хочешь сказать что только он видит это исходное сообщение (под системным)?
Это скриншот из "недавние действия". Видит только владелец чата, в его настройках. В самой же группе этого ничего не отображается — все чисто
О, спасибо, теперь понятно ))
В статьях можно подписи к медиа файлам добавлять 😉
подписи тож проверяет. Вы, наверное, не сильно пошлая девчонка, поэтому и пропустил.
Кто проверяет, где подписи?
Я о возможности добавлять подписи к вашим фоточкам в данной статье.
Для понимания читателя.
Да, я не так вас понял и ответил не так) Хорошо, спасибо за совет, учту на будущее!
Вижу чат-бот — расстраиваюсь
Слишком много ботов, и так мало людей
боты заполонили эту планету
Человек, попробуй еще раз
Чаще вижу схему привлекательная ава, а в описании профиля ссылка
Теперь нужен бот, который будет собирать базу пользователей и проверять описание профиля, и чуть что — бан
бот написавший сообщение банится или только сообщение со ссылкой стирается?
Сейчас только стирается. Статистику подкоплю — будем банить.
Хрень это конкретная. Воспользовались, поставили этот DeFensy_bot, сначала работал мало-мальски. Потом, чем далее тем более, все больше глюков, тормоза, паузы в работе. А потом и вовсе настало прекрасное: бот начал банить в группе и самого владельца группы, когда тот писал от ее имени. Написали в поддержку, со спокойным вопросом, что такое, почему. В ответ сначала дебильные слова "бот х. евый блаблабла", а потом, и вовсе вижу в аккаунте "Группа заблокирована из-за нарушения пользовательского соглашения при использовании бота". Что, какого нарушения? Админу на мозоль наступили? Неадекват этот Роман Ромашин, а бот — очередное фуфло. Категорически не рекомендую связываться с обоими.
Я даже комментировать сильно не буду. Сначала нормально разговаривать научитесь и вопросы задавать, а потом уже предъявляйте претензии к бесплатному продукту. Всего хорошего, удачи вам.
Да чего ты можешь ответить. тебе задали простой вопрос: почему конкретная функция себя так ведет? Вместо ответа ты включил распальцовку, а после и вовсе забанил группы. Ну и кто ты после этого, как не 3,14дарас? И "бесплатный продукт" свой засунь себе в очко, помоечник.
И это кстати не со мной так, уже следом за мной ты и перед другим челом, который пришел с вопросами, понты кидаешь, дешевка.
С таким "разработчиком" хапнешь горя. Ну, пусть люди знают чего ты стоишь и твое RBS Family помойное.
Слушай, мужик. Если ты говно, мне жаль тебя. Если ты считаешь, что кто-то тебе чем-то обязан, это твои проблемы. Если ты начинаешь вопрос "какого хрена вот это вот так, я не понял", это твои проблемы, что ты разговаривать не научился нормально. То, что на скриншоте — это такой бред — шутка юмора, вырванная из контекста из моего чата, где мы так общаемся "между своими". Ты лучше выложи скриншоты как ты "мою маму там что-то" или еще много другого мата в мой адрес. Ты рефлексуй дальше, и минусуй, раз на большее не способен. Я больше не готов продолжать диалог, сорри. Кому бот нужен, тот пользуется нормально и вопросы задает нормальные 🙂
Пока практика показывает, что говно это ты.
Во-первых ты дешевка, потому что не можешь даже ответить за свои косяки. Во-вторых ты пиздунок, потому что тебя совершенно спокойно и нейтрально спросили в чате, в чем проблемы. а ты в ответ решил показать какой ты небывало крутой поц. И твой звездеж про "шутку юмора" это такой антикризисный пеар, когда тебя взяли за горячее, надо срочно подкорректировать имидж. А то, что ты после всего взял и отключил в моих чатах свои говно-боты, только доказывает, что ни фига это не "юмор", а обычная твоя практика высокомерной швали.
Твоими говноботами пользоваться — себя не уважать. Мало ли что придет в голову их пизданутому разработчику — возьмет и снесет всю базу подписоты, он же с башкой не дружит, но себя любит и обожает.
В общем, никому не советую эту хрень. На своем опыте проверил и обжегся, мало того что бот регулярно лежит, так еще и глючит, а разработчик и он же саппорт — неадекват.
Если пожалуетесь ему на глюки, он не их исправит, он вас забанит нахрен и чаты отключит ваши от бота)))))
Огонь, спасибо, попробую!
Спасибо, это супер актуально, вчера как раз нашел и установил для своего телеграм-канала ilovedocs) Вроде можно вручную тереть спам с девчонками, но со временем подписчики беситься начинают, оперативно не получается.В общем, спасение 🙂
Добавил бот во все свои чаты, лучшее решение однообразного спама в комментариях!
Подобных чатботов — очень много (комментарии — это всего лишь ветка в чате), с более продвинутыми настройками. Например чем плох group help bot?