Зачем нужен бот в телеграмм. Боты в Telegram и как они работают. А где с ними можно пообщаться

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

Где искать?

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

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

Второй вариант поиска - использование рубрикаторов. Их также можно найти в поисковой системе. Это не полноценный ресурс, скорее, частный обзор.
Один из самых удобных ресурсов - @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 , разработанный автором «ВКонтакте» Павлом Дуровым, в прошлом году обновился до версии 3.0. Кроме прочего она принесла ботов, с которыми в этом мессенджере стало намного удобнее общаться, искать информацию, развлекаться и тому подобное. Что такое боты в Telegram и как ими пользоваться - читайте дальше.

Что такое боты? Робот или боты - это специальные аккаунты в Telegram, которые могут автоматически обрабатывать и отправлять сообщения. Они создаются программистами и работают у них на сервере.

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

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

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

У роботов нет статусов «онлайн» и «был в сети», вместо этого отображается надпись «робот». Кроме этого, боты не могут сами начать общение. Выбранного бота надо сначала добавить в группу или первым начать с ним диалог. Для этого можно использовать ссылки вида telegram.me/<имя бота> или поиск по имени пользователя. Найти ботов просто, поскольку в них имя заканчивается на «bot», например, @TriviaBot.

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

Когда вы освоите общение с ботами через их клавиатуры, тогда можно переходить к более гибкому взаимодействию. Для этого ботам можно отправлять команды напрямую. Команда бота - это строка вида /Команда [необязательный] [аргумент]. Она всегда начинается с косой черты «/» и имеет максимальную длину 32 символа. Команды могут состоять из букв латинского алфавита, цифр и подчеркивания. Несколько примеров:

/ get_messages_stats

/ Set_timer 10min Alarm!

/ Get_timezone London, UK

Примеры активных ботов Telegram

Сегодня в Telegram работают десятки роботов. Вот несколько самых популярных:

@ytranslatebot - переводит ваши сообщения на любой язык мира. Работает как в личных чатах, так и в групповых.

@imagesearchbot - ищет картинки прямо в чате.

@ImageBot - отправьте этому боту ключевое слово, и он найдет подходящее изображение.

@HotOrBot - ищет новых знакомых в стиле приложения для знакомств Tinder, в которой надо выставлять людям «нравится» или «не нравится».

@PollBot - позволяет проводить в группах и чатах опрос.

@RateStickerBot - с ним можно открывать и оценивать новые стикеры.

@AlertBot - установите время и наблюдайте, как бот будет работать вместо будильника.

@glavburgerbot - бот, который берет ваши координаты и ищет ближайшее заведение, где можно съесть бургер.

@telerobot - выводит погоду, новости и цитаты с сайта bash.im.

@clippy - создает стикеры из изображений.

@QTrackerbot - отслеживает посылки, отправленные «Укрпочтой», «Новой почтой», «Деливери» и «Мист-Экспрессом».

@paypbbot - позволяет клиентам «Приватбанка» переводить друг другу средства в мессенджере Telegram.

Пишем ему /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
Добавить метки

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

Функционал

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

Как работает программа?

Перед тем, как установить Антипаркон бот в Телеграмм, разберемся в принципе его действия. Как говорят создатели, базу данных программы пополняют сами владельцы автомобилей. Проект был запущен весной 2015 года, поэтому база на данный момент весьма большая. С помощью Антипаркона вы сможете:

  • добавить запись о себе в базу данных (Гараж);
  • искать информацию по регистрационному знаку;
  • сообщать об эвакуации и других ситуациях;
  • общаться с водителями;
  • передавать информацию о нарушениях и нарушителях.

Чтобы полноценно пользоваться сервисом, вам нужно установить бот Антипаркон в Телеграмм на Айфон или Андроид.

Инструкция по установке

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


Как подключить Антипаркон бот в Телеграмм и узнать номер телефона?

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

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

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

Какие ещё функции есть у @AntiParkon_bot

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



В разделе «Событие!» вы сможете предупредить водителя об эвакуаторе или сообщить о чём-либо другом.


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

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

Робот Saytextbot для Telegram выполняет функцию озвучки сообщений.

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

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

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


СОВЕТ. Функция озвучивания текста может пригодиться для разных целей. Например, в случае быстрой утомляемости от чтения, наличия плохого зрения или же просто с целью повеселить, разыграть друзей. Вы можете даже придумать своё применение боту, ведь эмуляция голоса может стать действительно полезной.

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



Есть вопросы?

Сообщить об опечатке

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