Это любительский перевод документации Telegram API с целью изучения языка и технических возможностей API. Оригиналы ищите на странице core.telegram.org/bots. Если заметили ошибку или хотите дополнить перевод, оставьте комментарий внизу страницы.

Боты: введение для разработчиков

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

Полный справочник по API для разработчиков доступен здесь.

Что можно делать с ботами?

Вот несколько вещей, которые можно делать с помощью ботов:

Что можно делать с телеграм ботом
  • Получайте настраиваемые уведомления и новости. Бот может действовать как умная газета, отправляя вам соответствующий контент, как только он будет опубликован.
  • Интеграция с другими сервисами. Бот может обогащать чаты Telegram контентом из внешних сервисов. Примеры: Бот Gmail, бот GIF, бот IMDB, бот Wiki, музыкальный бот, бот Youtube, GitHubBot.
  • Принимайте платежи от пользователей Telegram. Бот может предлагать платные услуги или работать как витрина интернет магазина. Подробнее » Демо магазин бот, демо магазин.
  • Создание пользовательских инструментов. Бот может отправлять уведомления, прогноз погоды, переводы, отредактированные тексти или многое другое. Бот для разметки Markdown, Бот для поиска Стикеров, Бот для создания голосования, Бот для лайков.
  • Создавайте одиночные и многопользовательские игры. Боты могут быть онлайн играми. А благодаря HTML5 это могут быть любые игры от простых аркад и головоломок до 3D-шутеров и стратегических игр в реальном времени. Примеры: GameBot, Gamee.
  • Создавайте социальные службы. Бот может связывать людей, которые ищут собеседников на основе общих интересов или расстояния.
  • Делайте практически все что угодно. За исключением мытья посуды — боты ужасно моют посуду. Но не удивлюсь, что при достаточных навыках, можно заставить работать посудомойку через бота. 😀

Как работают боты?

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

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

Сообщения, команды и запросы, отправленные пользователями, передаются программному обеспечению, работающему на ваших серверах. Наш промежуточный сервер обрабатывает все шифрование и связь с Telegram API для вас. Вы общаетесь с этим сервером через простой HTTPS-интерфейс, который предлагает упрощенную версию Telegram API. Мы называем этот интерфейс Bot API.

Подробное описание Bot API доступно на этой странице »

Как создать бота?

Bot API

Для этого другой бот. Просто напишите BotFather (описано ниже) и выполните несколько простых шагов. После того, как вы создали бота и получили токен аутентификации, перейдите к руководству Bot API, чтобы узнать, чему вы можете научить своего бота.

Вы также можете ознакомиться с некоторыми примерами кода здесь »

Чем боты отличаются от людей?

  • Боты не имеют онлайн-статуса и меток времени последнего посещения, вместо этого в интерфейсе отображается ярлык «bot».
  • Боты имеют ограниченное облачное хранилище — старые сообщения могут быть удалены сервером вскоре после их обработки.
  • Боты не могут инициировать разговоры с пользователями. Пользователь должен либо добавить их в группу, либо сначала отправить им сообщение. Люди могут использовать ссылки t.me/ или поиск по имени пользователя, чтобы найти вашего бота.
  • Имена пользователей ботов всегда заканчиваются на «бот» (например, @TriviaBot, @GitHub_bot).
  • При добавлении в группу боты не получают все сообщения по умолчанию (см. Режим конфиденциальности).
  • Боты никогда не едят, не спят и не жалуются (если специально не запрограммировано иное).

Бонусы для ботов

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

Встроенный режим

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

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

Посетите этот блог, чтобы увидеть пример встроенного бота в действии. Вы также можете попробовать ботов @sticker и @music, чтобы убедиться в этом.

Встроенный режим бота

Мы также реализовали для вашего бота простой способ переключения между встроенным режимом и режимом PM.

Подробнее о встроенном режиме »

Платежная платформа

Вы можете использовать ботов для приема платежей от пользователей Telegram по всему миру.

  • Отправляйте счета в любой чат, в том числе в группы и каналы.
  • Создавайте счета, которые могут быть отправлены и использованы несколькими покупателями для заказа вещей.
  • Используйте встроенный режим, чтобы помочь пользователям показать ваши товары и услуги своим друзьям и сообществам.
  • Используйте подсказки от пользователей с предустановленными и пользовательскими суммами.
  • Принимайте платежи от пользователей в мобильных или десктопных приложениях.
  • Попробуйте создать тестовый счет с помощью @ShopBot или отправьте сообщение с помощью @ShopBot ... в любом чате для встроенного счета.

Подробней о платежной платформе »

Игровая платформа

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

Игра в чате Внутриигровое табло и кнопка поделиться

Поскольку базовой технологией является HTML5, игры могут быть любыми: от простых аркад и головоломок до многопользовательских 3D-шутеров и стратегических игр в реальном времени. Команда Telegram создала для вас несколько простых демонстраций в @gamebot:

Вы также можете проверить бота @gamee, в котором есть более 20 игр.

Подробнее об игровой платформе »

Клавиатуры

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

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

В настоящее время Telegram поддерживает текст и эмодзи для ваших кнопок. Вот несколько примеров пользовательских клавиатур:

Клавиатура для бота-опроса Клавиатура для бота-калькулятора Клавиатура для викторины

Для получения дополнительной технической информации о настраиваемых клавиатурах см. руководство Bot API (см. sendMessage).

Встроенные клавиатуры и обновление на лету

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

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

Кнопки обратного вызова в @music Дополнительные кнопки обратного вызова в @music Кнопка URL

Когда используются кнопки обратного вызова, ваш бот может обновлять свои существующие сообщения (или только свои клавиатуры), чтобы чат оставался аккуратным. Посмотрите эти примеры ботов, чтобы увидеть встроенные клавиатуры в действии: @music, @vote, @like.

Подробнее о встроенных клавиатурах и редактировании «на лету» »

Комментарии