Редактор «Гиктаймс»
675,3
рейтинг
25 июня 2015 в 01:56

Telegram открыл платформу для ботов

Сервисами мгновенных сообщений пользуются не только люди, но и боты. Создатели IM-клиента Telegram учли этот факт и первыми среди конкурентов открыли API для ботов. Теперь сторонние разработчики могут спокойно создавать своих ботов и подключать их к Telegram.

Для ботоводов открыт специальный раздел со справочной информацией по созданию ботов.

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



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





Вот примеры некоторых ботов, сделанных бета-тестерами за пару часов.

@ImageBot – отправляете боту ключевое слово, а он возвращает релевантную картинку.
@TriviaBot – викторина, можно играть одному или присоединиться к группе и соревноваться с друзьями.
@PollBot – создаём опросы для групповых частов.
@RateStickerBot – ищем и оцениваем новые стикеры.
@AlertBot – если установить время, то этот бот пришлёт напоминание.
@HotOrBot – бот типа Tinder для поиска друзей/подружек и назначения свиданий.
@GithubBot – отслеживание обновлений Github.
@StoreBot – поиск новых ботов и их оценка.

Сделать своего бота не представляет никакого труда, уверяют разработчики. Просто генерируете ключ с помощью бота @BotFather и используете простые http API для управления ботом.

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

У каждого бота имеется URL вида https://telegram.me/your_bot. Открытие такой ссылки инициирует чат-сессию с ботом, если у вас установлен Telegram.

Хозяин бота может передать ему какие-то параметры типа ключей аутентификации ссылкой вида https://telegram.me/your_bot?start=value (см. deep linking).

«С сегодняшнего дня вы будете встречать ссылки вроде этой в Telegram и повсюду. Встречайте их с нежностью, это боты!, — пишут разработчики Telegram. — Они предоставят вам все необходимые услуги: новости, игры, опросы, интеграция, фотографии котов. С ботами все мечты сбываются».

См. также
Введение в ботов
Bot API Manual
Анатолий Ализар @alizar
карма
681,6
рейтинг 675,3
Редактор «Гиктаймс»
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (45)

  • +24
    О, теперь в телеграме хоть с кем-то пообщаться можно! А так, самый удобный мессенджер, я считаю.
    • –10
      Не холивара ради, но мне больше по вкусу (и субъективно — по удобству) 4talk, который от бывших разработчиков QIP. Но там платформа на данный момент закрыта и клиенты только те, что выпустили разработчики. Клиента под Linux нет, например (хотя под Wine работает хорошо).
      Мне лично тоже бы хотелось там подобного API.
      • +15
        Собственно, вы сами же и перечислили причины не пользоваться 4talk'ом
        • +1
          Ну правильно, нужно же быть объективным, а не слепо хвалить.
          Но лично для меня эти причины не играют главной роли, поэтому и пользуюсь им. У меня Android, Linux и Windows на различных устройствах. Хотя вот под Windows Phone они ещё не выпустили версию, так что это тоже минус.
          Я говорю только за себя и за удобство использования в своих кейсах.
          • 0
            WP версия есть!
            • 0
              Публичного не видел. Можно ссылку?
      • 0
        За всё время видел там только одного друга из более чем 1000 контактов в записной книжке.
        • 0
          Да, он менее популярен и, насколько я понимаю, не очень мощно пиарился для российской аудитории. У меня несколько другая картина (но это моя заслуга).
          • 0
            Согласен, пиаром не занимался. Как мессенджер он понравился, но за счёт новизны уже не поднимется, нужен маркетинг. Вайбер-то чудом взлетел и скорее всего из-за возможности совершать звонки.
  • 0
    Интересно, многим по прочтении первая мысль, приходящая на ум — попробовать использовать его как алертер статусных сообщений сервера? И далее дополнить возможностью управлять им простенькими командами?) Несколько раз устанавливал Телеграм, активно знакомился, щупал, изучал и постепенно он умирал из-за малой активности внутри. Теперь снова есть мотивация сделать это уже в n-ый раз -)
    • +3
      Давно уже подобные боты для мониторинга/управления сервером делались под ирку, аську, джаббер и т.д.
      • +3
        Можно считать, что телеграм это логическое развитие идеи icq, только на современный лад — с чатами, мобильными приложениями и api.
        • 0
          Всё новое — хорошо забытое старое. И под тот же Jabber были и групчаты, и мобильные приложения. По поводу поста — любопытно, но печально, что при вопросе «у тебя есть телеграм?» большинство людей, не связанных с IT, спрашивают «а что это такое?». Кажется, есть риск, что этот самый Телеграм выльется в такую же сеть главным образом для IT-шников, как и старый добрый джаббер.
          • 0
            Да, так может произойти.
            Но по сути, выбор мессенджера — это выбор не личности, а ее окружения. Когда-то давно, практически весь мой контакт-лист перебрался из аськи в скайп. Но теперь, даже если я сам захочу перейти на телеграм, то буду сидеть там один(
            • 0
              Так что всё зависит от политики телеграма. Скажем, Бизнес-молодость телеграм для всяких групповых чатов, похоже, довольно активно использует. Ибо реально удобно и количество участников до 200. Автоматически туда это втягивает некоторых людей. Мы можем что сделать — рекомендовать для всяких коллективных чатов, рабочих и т.д.
              • 0
                Да я вот, собственно, сам собираюсь перевести рабочий чат из скайпа в телеграм… только как-то не до этого)
            • +2
              Как жаль, что джаббер был таким перспективным, но он не смог. Особенно мне нравился QIP, когда он вобрал в себя все соц. сети. Он был бы при этом самым мощным и удобным мессенджером лично для меня. И по забавной иронии судьбы его заменяют мессенджеры с совершенно таким же функционалом, который постепенно дорабатывается, чтобы в конце и стать… Этим же джаббером)
          • 0
            Забавно! Только сейчас понял, что все мои контакты в телеграм — it-шники разного калибра!
    • 0
      Hubot же. Тикет на реализацию адаптера уже есть.
    • 0
      Да, поменять отправку из того же Munin SMS на отправку сообщений в мессенджер — удобно.
  • 0
    Блин, с удовольствием перешёл бы на Telegram, но все висят на viber или whatsapp. Откуда у людей такая тяга к безвкусице?
    • +1
      Маркетологи отрабатывают свой хлеб)
    • 0
      Переходите, люди вскоре подтянуться…
      • 0
        Год уже жду, но всё так никого и нет…

        Вообще, чат необходим в том случае, если в нём есть с кем общаться. Если же есть куча альтернатив, через которые можно найти любые контакты — зачем он нужен?
  • +4
    Интересно, будет возвращение реинкарнации irc и ботов для каналов?
  • 0
    Набросал за пару часов бота — викторина из IRC — @BukToPuHaBoT
    Список команд по /help, фидбек можно оставить командой /feedback текст или писать тут в личных сообщениях. В свободное время буду дорабатывать :)
    • 0
      На чём делали? Чем обновления забираете?
      Что-то телеграм не отправляет мне webhook-и. Хотя если постучаться по указанному адресу — всё ок (адрес, конечно же, установлен setWebhook)
      • 0
        PHP, обновления забираю синхронно, через getUpdates. WebHook, судя по описанию, работает только по HTTPS, может в этом дело?
        • 0
          только по HTTPS

          Ага, setWebhook отказывается работать с адресом http.
          Я уж грешу на то, что у меня сертификат самоподписанный.
          • 0
            Именно, мы сделали у китайцев, с ним работает
            • 0
              Спасибо! Попробую подсунуть не самоподписанный
    • 0
      А базу данных пользователей на чем базировали?
      Простой txt/json или что-то поинтересней?
      • 0
        Простой serialize в текстовой файл. Учитывая постоянную работу — база в памяти, в файл скидывается периодически на случай перезапуска, при запуске, соответственно, читается. Пока этого хватает и, мне кажется, работает быстрее, чем подключать базу данных.
    • 0
      А не решали такой вопрос, getUpdates возвращает список всех сообщений, за последние 24 часа. Но для бота нет смысла забирать повторно уже принятые. Хотелось бы удалять прочитанные, чтобы не рос трафик. Но в документации нет команды для удаления сообщения (через HTTP). Вы не находили возможность сделать это? Или забираете весь список каждый раз?
      • 0
        Разобрался… Невнимательно изучал, достаточно в запросе отправлять идентификатор Update'а, с которого хочется получать список сообщений.
        • 0
          Там есть параметр оффсет. Он и убирает, точнее сдвигает, прочитанные.
          А вообще на Гите уже на всех языках почти сделали свои библиотеки для работы. Гляньте. Я вот для C# уже нашел отличный. Уже пилю своего бота :)
  • 0
    Странно, но не могу зарегистрировать ни одного бота. Какой бы логин я не пробовал выбрать, BotFather постоянно пишет: «Sorry, this username is already taken. Think of something different». Если я пытаюсь выбрать логин, заведомо никем не занятый (случайный набор символов, например: adfhdshdshadfhadhad_bot), то сначала он пишет: «Sorry, an error has occurred during your request. Please try again later», а при повторной отправке, что логин занят.
    • +4
      Возможно, кто-то просто написал бота по регистрированию ботов.
      • 0
        Когда я пытался регистрировать осмысленные имена, то сразу подумал, что все они заняты киберсквоттерами. Но я пробовал случайные наборы букв и цифр любой длины, и они тоже оказывались занятыми. Причем, сначала бот сообщает об ошибке, а потом о том, что имя занято. Как будто в первый раз он и правда помечает имена занятыми, просто не связывает с моим аккаунтом.
        • 0
          На реддите пишут, что такая проблема у многих. Вебхук тоже не получается поставить.

          Я сразу после обновления зарегистрировал бота, настроил и поигрался с ним, мне повезло. :)
          Я помню, когда никнеймы ввели, тоже не сразу получилось поставить тот ник, который у меня сейчас установлен. Так что, видимо остается только ждать. Возможно, они не были готовы к такому наплыву желающих.
        • 0
          открой список команд в @BotFather и выбери команду /token
          Скорее всего тебе покажет полный список всех твоих ботов, которых «заняли киберсквоттеры» (в лице тебя самого :))
          • 0
            А то я не пробовал! В ответ получаю только: «You don't have any bots yet. Use the /newbot command to create a new bot first».
    • 0
      Похоже, что проблемы кончились. Сейчас боты нормально регистрируются.
  • 0
    А на бота напоминалку нельзя напоминание настраивать не часами и минутами по количеству, а по календарю + текст напоминания? Мол 22 июля 2015 года + позвонить Ване? Или это фича такая?
  • 0
    502-я ошибка

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