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

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

example

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

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

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

add-bot-to-chat

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

add-bot-as-admin

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

add-bot-as-admin

Код

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

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

Как защитить Телеграм-канал от взлома/Безопасность Telegram-канала

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

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) > >

Еще по теме:  Как узнать QR код Телеграмма

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

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

feedback

Исходный код

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

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

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

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

Как легально «отжимают» юзернеймы в Telegram и как защититься от этого

Сообщество фрилансеров и предпринимателей Помогаем монетизировать знания Статьи, кейсы как заработать в интернете, соцсетях, мессенджерах More posts by Кибер Мастера.

Кибер Мастера

25 янв. 2023 • 3 min read

Как легально «отжимают» юзернеймы в Telegram и как защититься от этого

В августе 2022 года тысячи юзернеймов были «отжаты» у неактивных каналов и «преданы в жертву» будущей аукционной платформе Fragment. Еще свежи воспоминания об этом? Если да, то сегодня я расскажу как в Telegram при помощи декларируемых сами мессенджером способов уже долгое время угоняют юзернеймы, но самое главное, расскажу какая от этого есть защита.

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

Как ищут «жертву» в Telegram

Для начала определяются какая в принципе юзерка нужна.

Понадобится сервис TGStat (или Telemetr). И там, и там есть возможность смотреть историю канала, что необходимо для оценки важности юзернейма для его владельца.

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

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

Как проверяют насколько «жертва» уязвима

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

Например, есть такой instantusername.com — бесплатный, быстрый, удобный и наглядный. Сервис чекает юзерки во всех необходимых местах, в том числе в Telegram.

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

Угонщика интересуют только Instagram, Facebook и Twitter (и Telegram, но он, понятно, занят).

Есть еще несколько сервисов проверки, они со своими минусами:

namecheckr.com — не ищет по Instagram;

namechk.com — во всех необходимых ищет, но не очень наглядно;

checkusernames.com — не ищет по Facebook, Instagram, Telegram;

knowem.com — неудобно, много лишних соцсетей и сайтов.

По итогам проверок находится такой канал, чей юзернейм свободен, как минимум, в двух сервисах из следующих: Facebook, Twitter, Instagram.

Кстати, недавно Илон Маск заявлял, что много миллионов неактивных аккаунтов в Twitter будут удалены, а это значит, что некоторые юзернеймы, занятые долгое время, освободятся. Уверен, что кто-то обязательно подсуетится и очень легко «закроет» вопрос с занятыми в твиттере именами.

Далее, проверяется коллекционность юзернейма, для чего используется сервис Fragment.

Рассматриваемый как пример «tochkaup» еще не является коллекционным, поэтому отлично подходит нуждающемуся в нем угонщику.

Как подготавливается база для атаки на «жертву»

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

Для успеха угонщику важно, чтобы аккаунты были максимально похожими на активные. То есть, для него надежнее будет даже не новые создавать, а купить уже готовые аккаунты, с историей, с постами. В идеале делают так, что тематика фейка становится похожей на тематику телеграм-канала «жертвы». Если же создаются новые аккаунты, то некоторое время они наполняются контентом, раскручиваются через соответствующие smm-панели, в общем, создается видимость активности для последующих проверок со стороны Telegram.

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

Финал — попытка забрать чужой юзернейм

Злоумышленнику нужно доказать модераторам бота, что аккаунты с аналогичными юзернеймами в Twitter и Instagram принадлежат ему.

После проверки предложат указать на какой аккаунт или канал передать запрошенный юзернейм.

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

Как защитить свой юзернейм от злоумышленников

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

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

Еще по теме:  Веб Телеграмм не работают кружки

Кибер Мастера там, где вам удобно: Telegram ▫️ Дзен ▫️ Я.Кью ▫️ VK ▫️ VC ▫️ YouTube ▫️ Партнеркин ▫️ Pikabu ▫️ TenChat ▫️ ТамТам

Subscribe to Кибер Мастера

Get the latest posts delivered right to your inbox

Источник: cybermasters.site

Как защититься от спама в комментариях к телеграм-каналу

Комменты в телеге — отличный инструмент для дискуссий: не надо вводить почту и заполнять капчу; написать коммент так же легко как написать другу в другу; при желании легко перейти в личку. К сожалению, этой простотой пользуются спамеры — регистрируют аккаунты на левые симки и шлют GPT-сообщения о распродажах на вайлдберис, шокирующем выступлении Путина и даже о Ванге:

Сам телеграм пока не борется с таким спамом — они нормально защищают чаты, но полностью игнорируют комменты каналов. И пока Дуров не завёз нам нормальный антиспам, я сделал это сам — запилил бота, который удаляет комменты спамеров.

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

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

Бот — бесплатный: не нужно подписываться ни на какие каналы, оплачивать подписку или читать чей-то спам. К сожалению, я не смогу даже написать вам, если изменю алгоритмы бота, но если вам зачем-то хочется следить за новостями — смотрите гитхаб.

Фёдор Борщёв

Меня зовут Федя Борщёв. Пишу для программистов в телеграме — 2 поста в неделю об управлении сложными проектами, хорошем коде и профессиональном развитии. А ещё я руковожу Школой Сильных Программистов ,
где мы делаем синьёров, архитекторов и тимлидов. Приходите учиться!

Почитать ещё

  • Письмо самому себе
  • Как сделать Instant View для любого сайта
  • Фавиконка и логотип телеграма
  • Еще один способ подписаться на блог

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

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