Flibusta, Антон и прочие боты в telegram — обзор. Как в телеграмме найти бота

14.08.2019 Мобильный интернет

Здравствуйте, дорогие читатели. У меня для вас отличная новость. Наконец-то дошли руки рассказать про то, что такое боты в Телеграм. Расскажу, зачем они нужны, как их искать и как правильно использовать. Как всегда, в описании будет минимум воды и максимум пользы.

Бот — что это такое и что он умеет?

Робот-помощник, готовый выполнить любое рутинное занятие, или специальный программный код, выполняющий определённые команды пользователя.

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

На сегодня роботы Телеграм могут:

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

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

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

Принцип очень прост. Вы находите бота, пишете ему текстовое сообщение (команду) и через доли секунды получаете ответ.

Достоинства:

  • Круглосуточная помощь — по сути, их работу остановит только авария на сервере, что случается крайне редко.
  • Удобство использования — большинство команд находится в меню бота.
  • Ответы приходят за несколько секунд.
  • Для работы используются ресурсы сторонних серверов, так что мощности вашего устройства не задействованы.
  • Безопасность. Многие переживают за сохранность своих данных, так вот можете не беспокоиться. Боты никак не украдут ваши данные. Они их просто не видят. Всё, что им доступно, — это текстовые команды из чата.
  • Установка дополнительных программ не требуется.

Теперь о том, как найти бота в Телеграмме.

Ищем своего бота

Поиск бота ничем не отличается от . Помните, о них я писал немногим раньше. Основные варианты поиска:

  • Через поисковики найти подборки популярных ботов

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

  • По поиску внутри Телеграм

Для этого нужно знать точное имя и ввести его в строку поиска. Имя обязательно заканчивается на bot и начинается с собачки — @.

  • Помощь друга

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

Как ими пользоваться

Давайте на живых примерах рассмотрим варианты использования.

Общая схема: найти бота — нажать start/начать — ввести команду — получить ответ.

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

Скриншоты будут из версии для ПК. В мобильной и онлайн-версиях всё то же самое.

Боты с готовым меню

В большинстве случаев бот имеет собственное меню. Вот пример Яндекс-бота.

Вот ещё вариант меню у бота популярного сайта AdMe.

Скрытое меню

У некоторых роботов меню скрыто. Чтобы его вызвать, необходимо нажать «/» и появится список команд.

Значок слэш является обязательным для ввода команд.

Смотрите пример.

Нужно знать команды

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

Универсальные команды

Их понимает большинство онлайн-помощников:

  • /start — начало,
  • /help — помощь,
  • /settings — настройки.

Иногда боты понимают команды на русском, можно просто догадаться по смыслу. Вот образец — знаменитый робот Антон подрабатывает ещё и в Гидрометцентре. Если его спросить «Погода Воронеж», он тут же сообщит прогноз.

Если бот молчит

Иногда можно найти бота, который не отвечает. Что ни спроси, он будет молчать, как партизан. В чём причина?

  1. Так как они находятся на стороннем ресурсе, значит основная причина в проблемах сервера. Может быть временный сбой или полный отказ сервера.
  2. Также может быть, что неопытный программист ошибся при написании кода.
  3. Третья причина — вы вводите команду, которую бот не понимает. В таком случае, Гугл вам в помощь.

Сам столкнулся с проблемой — не захотел работать популярный @nationalgeographic_bot, он должен показывать лучшие фотки знаменитого журнала. Но, как я ни старался, команду подобрать не смог. Может у вас получится? Сообщите, пожалуйста.

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

Чтобы не пропускать выход новых статей на блоге.

Пишем ему /start и получаем список всех его команд.
Первая и главная - /newbot - отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя - в конце оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot/getMe , говорят, не всегда работает с первого раза.

2. Программирование

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

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

Каркас бота:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = requests.Session() application = tornado.web.Application([ (r"/", Handler), ]) if __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) try: set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) if set_hook.status_code != 200: logging.error("Can"t set hook: %s. Quit." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOLoop.current().start() except KeyboardInterrupt: signal_term_handler(signal.SIGTERM, None)
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.

Class Handler(tornado.web.RequestHandler): def post(self): try: logging.debug("Got request: %s" % self.request.body) update = tornado.escape.json_decode(self.request.body) message = update["message"] text = message.get("text") if text: logging.info("MESSAGE\t%s\t%s" % (message["chat"]["id"], text)) if text == "/": command, *arguments = text.split(" ", 1) response = CMD.get(command, not_found)(arguments, message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response) except Exception as e: logging.warning(str(e))
Здесь CMD - словарь доступных команд, а send_reply - функция отправки ответа, которая на вход принимает уже сформированный объект Message .

Собственно, её код довольно прост:

Def send_reply(response): if "text" in response: api.post(URL + "sendMessage", data=response)

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

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

Def help_message(arguments, message): response = {"chat_id": message["chat"]["id"]} result = ["Hey, %s!" % message["from"].get("first_name"), "\rI can accept only these commands:"] for command in CMD: result.append(command) response["text"] = "\n\t".join(result) return response

Структура message["from"] - это объект типа User , она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message["chat"]["id"] - в случае личного общения там будет User, а в случае чата - id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами - для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

Def base64_decode(arguments, message): response = {"chat_id": message["chat"]["id"]} try: response["text"] = b64decode(" ".join(arguments).encode("utf8")) except: response["text"] = "Can"t decode it" finally: return response

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather: Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

Command1 - Description
command2 - Another description
I:
whoisyourdaddy - Information about author
base64 - Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

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

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/) (https://core.telegram.org/bots#privacy-mode)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

Для начала в Handler добавляем обработчик:

If text == "/": ... else: response = CMD[""](message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response)
А потом в список команд добавляем псевдо-речь:

RESPONSES = { "Hello": ["Hi there!", "Hi!", "Welcome!", "Hello, {name}!"], "Hi there": ["Hello!", "Hello, {name}!", "Hi!", "Welcome!"], "Hi!": ["Hi there!", "Hello, {name}!", "Welcome!", "Hello!"], "Welcome": ["Hi there!", "Hi!", "Hello!", "Hello, {name}!",], } def human_response(message): leven = fuzzywuzzy.process.extract(message.get("text", ""), RESPONSES.keys(), limit=1) response = {"chat_id": message["chat"]["id"]} if leven < 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map - удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

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

Для примера расширим словарь RESPONSES:

RESPONSES["What time is it?"] = ["", "{date} UTC"]
И будем отлавливать текст :

If response["text"] == "": response["sticker"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" del response["text"]
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

Def send_reply(response): if "sticker" in response: api.post(URL + "sendSticker", data=response) elif "text" in response: api.post(URL + "sendMessage", data=response)
И все, теперь бот будет время от времени присылать стикер вместо времени:

6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

Вспоминая , могу сказать, что теперь извращений меньше, а работа прозрачнее.

7. Ограничения

К сожалению, на данный момент существует ограничение на использование webHook - он работает только по https и только с валидным сертификатом, что, например для меня пока критично за счет отсутствия поддержки сертифицирующими центрами динамических днс.

К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

While True: r = requests.get(URL + "?offset=%s" % (last + 1)) if r.status_code == 200: for message in r.json()["result"]: last = int(message["update_id"]) requests.post("http://localhost:8888/", data=json.dumps(message), headers={"Content-type": "application/json", "Accept": "text/plain"}) else: logging.warning("FAIL " + r.text) time.sleep(3)

P.S. По пункту 7 нашел удобное решение - размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч "method": "sendMessage" (или любой другой метод, используемый ботом).

Теги:

  • telegram
  • введение
  • python3
Добавить метки

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

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

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

Не хотите указывать свой email при регистрации на различных сервисах, боясь получить горы спама, а заводить новый специально под это дело лень? Так и не нужно! Используйте этого бота: он сгенерирует для вас временный ящик и отобразит его содержимое. Перейдите по ссылке активации и забудьте о ящике - через 10 минут он уже будет удалён.

Как понятно из названия, этот бот выполняет одну-единственную функцию - конвертирует в PDF документы и файлы, которые вы ему присылаете. Список поддерживаемых форматов не так велик, но всё самое необходимое есть: DOC, DOCX, ODT, TXT и JPG.

Те, кто имеет дело с иностранными языками, знают, как просто ошибиться в произношении. Этот бот поможет узнать произношение любого слова на 84 языках. Просто пишете слово или фразу и получаете в ответ голосовое сообщение. Работает в групповых чатах. Кроме уточнения произношения, можно ещё использовать бота для генерации аудио из текста. Получается, строго говоря, корявенько, но сойдёт.

Для сохранения видео с YouTube, конечно, существует , но зачем далеко ходить, если его можно скачивать прямо в Telegram? Отправляем ссылку на видео боту, выбираем качество и получаем от него прямую ссылку на видео. Просто и удобно.

Скачать понравившееся фото или видео из Instagram ещё сложнее, чем видео с YouTube, но с этим ботом такая задача займёт у вас нескольких секунд. Принцип тот же: шлём ссылку - получаем в ответ медиафайл. Работает не только с фото, но и с видео! Причём даже с YouTube.

Раз уж зашла речь медиаконтенте, то нельзя не упомянуть о . Думаете, в Telegram их можно только просматривать и искать? Как бы не так! С таким полезным ботом, как этот, их можно даже создавать! Не с нуля, конечно, а из видео с практически любых сервисов (Instagram, Vine, Facebook, Twitter, Gfycat других). Что делать, вы уже, наверное, догадались. :)

Интерактивный текстовый квест прямо в Telegram. А что? Все же помнят громкий успех Lifeline и «Марсианина» - мобильных игр, взаимодействие с которыми целиком и полностью осуществлялось через уведомления в режиме реального времени. Здесь всё примерно так же: у нас есть герой, попавший в беду, и его надо спасти, давая советы и подсказывая, что нужно делать в той или иной ситуации.

Рассказывайте в комментариях о ваших любимых ботах и о том, как к ним относитесь вообще. А также не забывайте, что у Лайфхакера есть официальный бот и два канала . Добавляйтесь и рассказывайте друзьям!

Разработок под самый популярный мессенджер столько, что многие пользователи теряются. Как в Телеграмме найти бота, ведь их там тысячи? Для решения этой проблемы созданы специальные ресурсы. О них и пойдет речь.

Где искать?

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

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

Второй вариант поиска - использование рубрикаторов. Их также можно найти в поисковой системе. Это не полноценный ресурс, скорее, частный обзор.
Один из самых удобных ресурсов - @storebot .

Можно воспользоваться и сайтом Storebot.me

Он объединяет в себе строку поиска, новинки, рубрикатор, топ чарт. Расскажем подробнее, как искать ботов в Телеграмм (Telegram) с помощью этого сервиса.

Чтобы найти и вызвать бота, сделайте следующее:

  • Войдите в мессенджер и в строке поиска наберите @storebot. В результатах щелкните по его названию.

  • Нажмите «Start» или «Начать».

  • Откроется окно чата и вы сможете воспользоваться меню:
  1. Лучшие новинки.
  2. Недавно добавленные.
  3. По категориям.
  4. Вывод поисковой формы.

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

Топ лучших каталогов Telegram – поиск ботов

  1. Ru.telegram-store
    https://ru.telegram-store.com/catalog/product-category/bots/
    Русскоязычный сайт самого известного каталога роботов. Здесь можно найти все.
  2. Catalog-Telegram
    https://catalog-telegram.com/
    Все сервисы разбиты на категории. Также есть строка поиска, и новинки.
  3. Telegram-ru
    http://telegram-ru.com/directory_bots.html
    Имеет только рубрикатор, в котором размещены обзоры.
  4. Telegram.org.ru
    http://telegram.org.ru/telegram-bots/
    Простой перечень известных ресурсов. Пользователи голосуют за каждый, поэтому можно увидеть их рейтинг.

В любом из них можно найти много интересного. А как подключить бота в Телеграмм? Очень просто – просто щелкните по нему, если же его необходимо добавить в групп, то зайдите в меню группы и в поиске участников введите имя бота и нажмите « Пригласить». Откроется страница программы. Если вы ищете с ПК, то можете нажать «Open in Web» и робот добавится в список вашего аккаунта. Если вы ищете с мобильного устройства, то прежде чем установить бот, скачайте мобильное приложение Telegram. Это можно сделать в Google Play или AppStore. Кстати, если вы не знаете, как найти и добавить бота в телеграмме на Iphone, то ответ прост – точно также. Программа не зависит от платформы, на которой установлен Телеграмм.

Нужные боты в Телеграмме

  1. @MStickersBot
    Автоматический подбор изображения к контексту. Введите сообщение, а программа подберет стикер.
  2. @Weatherman
    Оперативная сводка погоды. Позволяет задать время получения актуальной информации. Также предлагается краткий или подробный прогноз на выбор.
  3. @kino_bot
    Информация о новинках кино. Просто подпишитесь и получайте каждый час данные о новых фильмах.
  4. @sberometerbot
    Предоставляет информацию о курсах валют, драгметаллов и топлива. Достаточно набрать название интересующей валюты и будет прислано сообщение об официальном и биржевом курсах на текущий момент.
  5. @yandexmapsbot
    Разработка от Яндекс.Карт. Позволяет построить маршрут, найти местоположение по адресу, получить информацию о пробках.
  6. @mirabellabot
    Аналог календаря. Сохраняет закладки. Можно делать текстовые заметки.
  7. @IceCalcBot
    Заменяет калькулятор. Имеет подробную подсказку.
  8. @VestniqBot
    Формирует подборку из указанных каналов.
  9. @transnow_bot
    Русско-английский переводчик. Определяет язык сообщения и выдает подробный перевод.

Как добавить и найти Бота в Телеграмме? Прочитав статью, ты узнаешь, как искать и подключить Ботов в Telegram. Итак, приступим!

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

Как искать и подключить ботов в Telegram

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

Можно выделить 2 самых простых и доступных способа поиска ботов в Телеграмме:

  1. Через специального робота @StoreBot
  2. Использовать каталог на любом из ресурсов в сети интернет

Для того чтобы воспользоваться поисковым роботом сделайте следующее:


Еще более простой способ, это найти нужно робота в интернете:

  • Для этого и выбираем нужного;
  • После этого достаточно просто вбить его имя в строку поиска в приложении и запустить робота.

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

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

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