Защитить канал от атаки ботов в Телеграмм

Решением стало написание свое бота, который задавал вопросы по типу:

example

Пользователю нужно ответить правильно, другие сообщения будут удаляться

Как добавить бота в чат?

  1. Добавляете бота в чат:

add-bot-to-chat

  1. После этого добавляете бота как админа в настройках чата:

add-bot-as-admin

  1. Даете боту права доступа на удаление сообщений и бан пользователей:

add-bot-as-admin

Код

Для работы с сообщениями в телеграм я решил использовать библиотеку tucnak/telebot с которой я уже работал раньше и которая кажется мне весьма удобной

Для начала надо настроить и запустить нового бота:

Как защитить Telegram-канал от накруток с помощью PressCode

В импорты нужно добавить:

import ( tb «gopkg.in/tucnak/telebot.v2» )

И таким образом запускается наш бот

// initialize bot b, err := tb.NewBot(tb.Settings< Token: «YOUR_TOKEN», Poller: , >) if err != nil < fmt.Printf(«error while initializing bot, %v», err) >

Для того чтобы отследить когда новый пользователь зайдет в чат, нужно добавить отлавливание этих событий:

b.Handle(tb.OnUserJoined, UserJoined(l, b, memoryStorage))

А вот так выглядит сама функция UserJoined :

func UserJoined(l *zap.SugaredLogger, b *tb.Bot, s data.Storage) func(m *tb.Message) < return func(m *tb.Message) < r := rand.New(rand.NewSource(time.Now().UnixNano())) // generating two random small number firstNumber := r.Intn(4) + 1 secondNumber := r.Intn(4) + 1 fistNumberInWords := ntw.IntegerToRuRu(firstNumber) secondNumberInWords := ntw.IntegerToRuRu(secondNumber) username := getUsername(m.Sender) welcomeMessageText := getWelcomeMessageText(username, m.Chat.Title, fistNumberInWords, secondNumberInWords) welcomeMessage, err := b.Send(m.Chat, welcomeMessageText) if err != nil < l.Error(«error while sending welcome message», err) return > s.Add(m.Chat, m.Sender, data.InfoWelcomeMessage: welcomeMessage, RightAnswer: firstNumber * secondNumber>) // Goroutine to delete message after 2 minutes // and block user if he or she still in the list go checkAndBanUser(l, b, welcomeMessage, s, m, username) > >

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

Еще по теме:  Как посмотреть во сколько человек был в сети в Телеграмме если у него стоит был в сети недавно

Вот так выглядит код для проверки ответа пользователя:

func Text(l *zap.SugaredLogger, b *tb.Bot, s data.Storage) func(m *tb.Message) < return func(m *tb.Message) < info, ok := s.Exist(m.Chat, m.Sender) if !ok < return > if m.Text != strconv.Itoa(info.RightAnswer) < err := b.Delete(m) if err != nil < l.Errorf(«error while deleting (spam) user message: %v», err) > return > // in case of correct answer: s.Remove(m.Chat, m.Sender) // Correct! Tell us about yourself approveMessage, err := b.Send(m.Chat, «Верно! Расскажите нам о себе «) if err != nil < l.Errorf(«error while sending: %v», err) > go deleteWelcomeMessages(l, b, m, approveMessage, info.WelcomeMessage) > >

Итог работы бота

По итогу бот очень успешно банит других ботов, не давая им написать сообщение с рекламой. Никто не переводит сообщения на английский язык и поэтому не знает что именно нужно делать. Таким образом пока получается блокировать всех ботов, хотя раньше с другими анти-спам ботами 50% просто решали капчу и писали спам

feedback

Исходный код

Исходный код, который деплоится затем на сервер вы можете найти тут:

Вы можете предложить свои изменения и улучшения, код открытый

После мержа код автоматически деплоится в продакшен (если билд пройдет успешно)

Источник: blogpavel.com

Как отписаться от ботов в Телеграмме

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

Кто такие боты и что они умеют в Телеграмм?

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

Бот

В Телеграмм появились боты – роботы с определёнными возможностями. Они уже умеют самостоятельно отвечать на простые вопросы, искать информацию и файлы в Интернете. А также:

Еще по теме:  Кэш текстовых сообщений Телеграмм что это

Меню бота

  • Подключаться к другим сервисам и выполнять определённые операции;
  • Боты могут по желанию подписчика находить людей для общения и искать о них информацию;

Бот МЧС

  • Автоматические программы научились самостоятельно выполнять различные задачи, такие как обрезать картинку, сделать из песни рингтон и т.д.;
  • В общем боты способны практически на всё, что касается информации.
  • Ботов может создать любой пользователь Телеграмм. Новый бот может отвечать на вопросы в группах. Для того чтобы он получил уникальные возможности, создатель должен уметь программировать. Из него может получиться хороший помощник, который будет привлекать новых подписчиков, развлекать их и давать рекомендации.

    Как отписаться от бота

    Мобильное приложение Телеграмм отличается от других уникальностью взаимодействия с пользователем. С ботом можно один раз пообщаться, чтобы он появился в ленте. Чат с ним начинается с кнопки «Старт». После чего программа может отправлять новости из каналов в окне уведомлений. Некоторым ботам нужно писать эту команду в переписке. Если вы больше не хотите получать уведомления от бота, напишите в чате с ним новую команду: /stop. Бот прочтёт её и больше не будет ничего предлагать. Для возобновления чата с ним снова напишите команду старт.

    Поиск информации

    В ответ на команду «Стоп» бот в Телеграмм пришлёт уведомление о том, что вы отписаны. Текст может быть на русском или английском языке, в зависимости от того, как его настроил разработчик. Команду для отписки воспринимают все боты, используйте её на английском языке.

    Чат с ботом

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

    Как забанить бота в Телеграмм

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

    Меню Телеграмм

      Нажмите на три точки в углу справа;

    Заблокировать

  • На экране вверху появится выпадающее меню;
  • В нём выберите кнопку с названием «Заблокировать».
  • Еще по теме:  Как остановить ботов в Телеграмме

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

    Разблокировать

    При попытке написать ему письмо приложение Телеграмм также напомнит, что пользователь находится в вашем чёрном списке. Его можно вернуть, выбрав повторно кнопку меню и нажав «Разблокировать».

    Как отправить жалобу в Телеграмме

    Можно пожаловаться на бота или сообщество в Телеграмме, чтобы администрация приняла меры и остановила нежелательные сообщения. Эта функция работает не сразу, как чёрный список. Если на канал или бота пожалуется сразу несколько пользователей, в этом случае её рассмотрят и примут меры. Кнопку пожаловаться можно найти в меню сообщества или бота в Телеграмм. К обычным пользователям функция не применяется. Вместо неё используйте кнопку «Блокировать» для отправки его в свой чёрный список. Для помощи с приложением Телеграмм существуют официальные и неофициальные боты поддержки.

    Пожаловаться

    Вопросы по работе приложения и определённых его функциях можно задавать роботу. В поиске найдите одного из них по ключевому слову «Help». С ним придётся вступить в разговор, соответственно вы снова будете подписаны на бота. Но теперь у вас есть инструкция, как от него избавиться. Поэтому можно без страха нажимать кнопку «Старт» и задавать любой вопрос. Бот может предлагать краткую информацию, состоящую из команд для него. Выберите этот список, чтобы найти интересуемые данные. Также среди электронных помощников можно отыскать полезные функции. Например, есть боты, которые конвертируют файлы из одного формата в другой.

    Видеоинструкция

    Если вам что-либо было непонятно в информации по отписке от бота, посмотрите видео о Телеграмм, в котором показано, как это сделать.

    Источник: lifehacki.ru

    Я полностью победил спам в комментариях Telegram-канала

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

    Виды спама по его живучисти в комментариях Telegram-каналов:

    Вот эта зараза просто убивает ценность комментариев. И победить их сложнее всего. Но выход есть.

    Спам в комментариях убивает канал?

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...