Для ботоводов открыт специальный раздел со справочной информацией по созданию ботов.
Боты — обычные аккаунты 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
Комментарии (45)
milar
25.06.2015 10:22Интересно, многим по прочтении первая мысль, приходящая на ум — попробовать использовать его как алертер статусных сообщений сервера? И далее дополнить возможностью управлять им простенькими командами?) Несколько раз устанавливал Телеграм, активно знакомился, щупал, изучал и постепенно он умирал из-за малой активности внутри. Теперь снова есть мотивация сделать это уже в n-ый раз -)
norlin
25.06.2015 11:12+3Давно уже подобные боты для мониторинга/управления сервером делались под ирку, аську, джаббер и т.д.
ftdgoodluck
25.06.2015 11:30+3Можно считать, что телеграм это логическое развитие идеи icq, только на современный лад — с чатами, мобильными приложениями и api.
WST
25.06.2015 12:56Всё новое — хорошо забытое старое. И под тот же Jabber были и групчаты, и мобильные приложения. По поводу поста — любопытно, но печально, что при вопросе «у тебя есть телеграм?» большинство людей, не связанных с IT, спрашивают «а что это такое?». Кажется, есть риск, что этот самый Телеграм выльется в такую же сеть главным образом для IT-шников, как и старый добрый джаббер.
ftdgoodluck
25.06.2015 13:01Да, так может произойти.
Но по сути, выбор мессенджера — это выбор не личности, а ее окружения. Когда-то давно, практически весь мой контакт-лист перебрался из аськи в скайп. Но теперь, даже если я сам захочу перейти на телеграм, то буду сидеть там один(utkorose
25.06.2015 22:39Так что всё зависит от политики телеграма. Скажем, Бизнес-молодость телеграм для всяких групповых чатов, похоже, довольно активно использует. Ибо реально удобно и количество участников до 200. Автоматически туда это втягивает некоторых людей. Мы можем что сделать — рекомендовать для всяких коллективных чатов, рабочих и т.д.
ftdgoodluck
25.06.2015 23:30Да я вот, собственно, сам собираюсь перевести рабочий чат из скайпа в телеграм… только как-то не до этого)
Acuna
26.06.2015 02:05+2Как жаль, что джаббер был таким перспективным, но он не смог. Особенно мне нравился QIP, когда он вобрал в себя все соц. сети. Он был бы при этом самым мощным и удобным мессенджером лично для меня. И по забавной иронии судьбы его заменяют мессенджеры с совершенно таким же функционалом, который постепенно дорабатывается, чтобы в конце и стать… Этим же джаббером)
ErhoSen
25.06.2015 17:00Забавно! Только сейчас понял, что все мои контакты в телеграм — it-шники разного калибра!
skobkin
25.06.2015 14:56Да, поменять отправку из того же Munin SMS на отправку сообщений в мессенджер — удобно.
Ryav
25.06.2015 12:34Блин, с удовольствием перешёл бы на Telegram, но все висят на viber или whatsapp. Откуда у людей такая тяга к безвкусице?
Magir
25.06.2015 16:12Набросал за пару часов бота — викторина из IRC — @BukToPuHaBoT
Список команд по /help, фидбек можно оставить командой /feedback текст или писать тут в личных сообщениях. В свободное время буду дорабатывать :)camelos
25.06.2015 16:40На чём делали? Чем обновления забираете?
Что-то телеграм не отправляет мне webhook-и. Хотя если постучаться по указанному адресу — всё ок (адрес, конечно же, установлен setWebhook)Magir
25.06.2015 16:58PHP, обновления забираю синхронно, через getUpdates. WebHook, судя по описанию, работает только по HTTPS, может в этом дело?
grozaman
26.06.2015 20:09А базу данных пользователей на чем базировали?
Простой txt/json или что-то поинтересней?Magir
26.06.2015 20:22Простой serialize в текстовой файл. Учитывая постоянную работу — база в памяти, в файл скидывается периодически на случай перезапуска, при запуске, соответственно, читается. Пока этого хватает и, мне кажется, работает быстрее, чем подключать базу данных.
Ogoun
28.06.2015 02:22А не решали такой вопрос, getUpdates возвращает список всех сообщений, за последние 24 часа. Но для бота нет смысла забирать повторно уже принятые. Хотелось бы удалять прочитанные, чтобы не рос трафик. Но в документации нет команды для удаления сообщения (через HTTP). Вы не находили возможность сделать это? Или забираете весь список каждый раз?
Ogoun
28.06.2015 02:33Разобрался… Невнимательно изучал, достаточно в запросе отправлять идентификатор Update'а, с которого хочется получать список сообщений.
grozaman
28.06.2015 14:17Там есть параметр оффсет. Он и убирает, точнее сдвигает, прочитанные.
А вообще на Гите уже на всех языках почти сделали свои библиотеки для работы. Гляньте. Я вот для C# уже нашел отличный. Уже пилю своего бота :)
Kolonist
25.06.2015 18:24Странно, но не могу зарегистрировать ни одного бота. Какой бы логин я не пробовал выбрать, 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», а при повторной отправке, что логин занят.
norlin
25.06.2015 18:39+4Возможно, кто-то просто написал бота по регистрированию ботов.
Kolonist
25.06.2015 18:51Когда я пытался регистрировать осмысленные имена, то сразу подумал, что все они заняты киберсквоттерами. Но я пробовал случайные наборы букв и цифр любой длины, и они тоже оказывались занятыми. Причем, сначала бот сообщает об ошибке, а потом о том, что имя занято. Как будто в первый раз он и правда помечает имена занятыми, просто не связывает с моим аккаунтом.
varyen
25.06.2015 19:48На реддите пишут, что такая проблема у многих. Вебхук тоже не получается поставить.
Я сразу после обновления зарегистрировал бота, настроил и поигрался с ним, мне повезло. :)
Я помню, когда никнеймы ввели, тоже не сразу получилось поставить тот ник, который у меня сейчас установлен. Так что, видимо остается только ждать. Возможно, они не были готовы к такому наплыву желающих.
Error_403_Forbidden
25.06.2015 19:55открой список команд в @BotFather и выбери команду /token
Скорее всего тебе покажет полный список всех твоих ботов, которых «заняли киберсквоттеры» (в лице тебя самого :))Kolonist
25.06.2015 19:57А то я не пробовал! В ответ получаю только: «You don't have any bots yet. Use the /newbot command to create a new bot first».
teifo
26.06.2015 13:25А на бота напоминалку нельзя напоминание настраивать не часами и минутами по количеству, а по календарю + текст напоминания? Мол 22 июля 2015 года + позвонить Ване? Или это фича такая?
a553
О, теперь в телеграме хоть с кем-то пообщаться можно! А так, самый удобный мессенджер, я считаю.
skobkin
Нехоливара ради, но мне больше по вкусу (и субъективно — по удобству) 4talk, который от бывших разработчиков QIP. Но там платформа на данный момент закрыта и клиенты только те, что выпустили разработчики. Клиента под Linux нет, например (хотя под Wine работает хорошо).Мне лично тоже бы хотелось там подобного API.
berezuev
Собственно, вы сами же и перечислили причины не пользоваться 4talk'ом
skobkin
Ну правильно, нужно же быть объективным, а не слепо хвалить.
Но лично для меня эти причины не играют главной роли, поэтому и пользуюсь им. У меня Android, Linux и Windows на различных устройствах. Хотя вот под Windows Phone они ещё не выпустили версию, так что это тоже минус.
Я говорю только за себя и за удобство использования в своих кейсах.
VLT
WP версия есть!
skobkin
Публичного не видел. Можно ссылку?
LbICbIY
За всё время видел там только одного друга из более чем 1000 контактов в записной книжке.
skobkin
Да, он менее популярен и, насколько я понимаю, не очень мощно пиарился для российской аудитории. У меня несколько другая картина (но это моя заслуга).
LbICbIY
Согласен, пиаром не занимался. Как мессенджер он понравился, но за счёт новизны уже не поднимется, нужен маркетинг. Вайбер-то чудом взлетел и скорее всего из-за возможности совершать звонки.