Как работает acceptuserbot в Телеграме

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

example

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

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

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

add-bot-to-chat

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

add-bot-as-admin

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

add-bot-as-admin

Код

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

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

Как работает бот напоминатель

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

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 и как они работают

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

Содержание

Что такое бот для Телеграм

Телеграм-бот — это программа, которая в ответ на сообщения пользователя выполняет определенные действия, на которые она запрограммирована. Например, вы можете запрограммировать бота реагировать на приветствия, и когда пользователь напишет боту: «Привет!», тот ответит и в свою очередь поздоровается заготовленным сообщением.

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

Что может делать Телеграм-бот

Телеграм Бот

Конечно, если бы боты просто однотипно отвечали на реплики юзеров, они были бы не такими интересными. Умелые программисты могут настроить бота так, что тот будет:

  • составлять персональную ленту новостей по запросам пользователя;
  • находить фильмы, музыку и игры по небольшим подсказкам;
  • скачивать медиафайлы и преобразовывать их;
  • развлекать прохождением тестов и квиз-опросов;
  • выполнять мелкие функциональные задачи: находить трек по обрывку песни, ставить напоминалки и будильники, сохранять списки;
  • помогать управлять каналом — такие боты позволяют администраторам популярных каналов тратить меньше времени на управление и больше внимания уделять подбору контента.
Еще по теме:  Раскрутка счета на ставках в Телеграмме отзывы

И это далеко не все! Фактически бот может выполнять любые задачи по поиску и анализу информации.

Рассмотрим основные виды ботов в Телеграме, разбив их по назначению:

Примеры ботов для Телеграм

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

YTAudioBot в Телеграм

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

Годзилла бот в Телеграм

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

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

Если вам важно отслеживать курсы валют, стоимость золота и нефти, то подобный бот будет вам полезен. Он отправляет текущие показатели по запросу, но может и просто ежедневно присылать обновленные данные, держа вас в курсе событий.

SberometerBot в Телеграм

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

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

YaMelodyBot в Телеграм

Как работает Телеграм-бот

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

Упрощенно работа бота представлена так:

  1. Пользователь делает запрос через Телеграм.
  2. Запрос отправляется на сервер, где хранится код бота — его «мозг».
  3. Бот обрабатывает запрос в соответствии со своей программой.
  4. Когда ответ готов, бот отправляет его с сервера в Телеграм, адресуя пользователю.

Эта цепочка обычно выполняется за доли секунд, но бывают и исключения.

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

Бот — это автоматизированный «пользователь», так что вы можете либо открыть чат с ним, либо добавить его в общий разговор, как обычного человека.

Еще по теме:  Бесплатно эмоджи Телеграмм премиум

У каждого бота есть свои команды, с которыми он вас сам познакомит при запуске. Чтобы командовать ботом, нужно писать эти команды в строке ввода сообщения через слэш (/), например, «/hello», а затем отправлять их. Одна опечатка — и команда уже не будет работать.

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

Бот может быть добавлен в групповой чат. В этом случае все участники чата могут обращаться к боту и управлять им, если иное не указано администратором чата. Перед тем как запустить бот в Телеграме в групповой чат, убедитесь, что он не вредоносный!

Создаем своего бота

Bot-Father в Телеграм

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

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

Как получить токен

  1. Напишите /newbot. Это команда создания бота.
  2. Придумайте и напишите имя для бота. Название бота может быть абсолютно любой комбинацией символов на латинице, цифр, дефисов и подчеркиваний, но заканчиваться оно должно на «bot».
  3. При желании добавьте аватарку бота или пропустите этот шаг.

Что дальше

Боты в Телеграм

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

*Instagram принадлежит Meta, признанной экстремистской организацией и запрещенной на территории России.

  1. ТОП-3 Телеграм-бирж
  2. Требования к форматам рекламы в Instagram
  3. Заработок в Телеграме: основные способы
  4. Как проводить аналитику на канале Телеграм

Оцените пост:

3,33 (49)

Источник: ru.epicstars.com

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