История изменений Bot API

Важная информация

В одном из следующих обновлений Bot API идентификаторы юзеров станут задаваться числом, большим, чем 2^31 - 1, поэтому они перестанут помещаться в 32-битный Int.

Идентификаторы будут до 52 бит длиной, поэтому для их хранения потребуется либо 64-битное число, либо число двойной точности (double).

Bot API 5.4

5 ноября 2021

В этом обновлении были добавлены методы управления пригласительными ссылками.

  • В методы createChatInviteLink и editChatInviteLink добавлен параметр creates_join_request. Он позволяет управлять доступом по пригласительным ссылкам.
  • В класс ChatInviteLink добавлены поля creates_join_request и pending_join_request_count.
  • Поле name добавлено в класс ChatInviteLink и методы createChatInviteLink и editChatInviteLink. Оно позволяет изменять название пригласительной ссылки.
  • Добавлены обновления о новых запросах вступления в чат. Они представлены классом ChatJoinRequest и полем chat_join_request в классе Update. Чтобы получать эти апдейты, бот должен быть администратором и иметь права can_invite_users.
  • Для управления запросами по вступлению в чат добавлены методы approveChatJoinRequest и declineChatJoinRequest.
  • В метод sendChatAction добавлена поддержка действия choose_sticker.

Bot API 5.3

25 июня 2021

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

Персонализированные команды

  • Добавлен класс BotCommandScope, который описывает область видимости команд бота.
  • В метод setMyCommands добавлены параметры scope и language_code. Это поможет отображать разные команды для разных чатов и юзеров.
  • В метод getMyCommands добавлены параметры scope и language_code.
  • Добавлен метод deleteMyCommands, который позволяет удалить команды бота для выбранной области видимости или языка юзера.
  • Улучшен интерфейс ботов в приложениях Telegram (подробнее читайте в блоге).

Кастомные плейсхолдеры

  • Добавлена возможность установить свой плейсхолдер для поля ввода сообщения в классах ReplyKeyboardMarkup и ForceReply.

Прочие обновления

  • Улучшена документация класса ChatMember.
  • Метод kickChatMember переименован в banChatMember. Старое название метода пока будет работать.
  • Метод getChatMembersCount переименован в getChatMemberCount. Старое название метода пока будет работать.
  • Были изменены значения полей file_unique_id в объектах типа в PhotoSize и в полях small_file_unique_id и big_file_unique_id в объектах типа в ChatPhoto.

Bot API 5.2

26 апреля 2021

В этом обновлении была добавлена поддержка платежей 2.0 в группах и чатах каналов.

  • Добавлен тип InputInvoiceMessageContent для отправки счетов на оплату через инлайн-запросы.
  • Счета на оплату теперь можно отправлять в группы, супергруппы и чаты каналов.
  • Добавлены поля max_tip_amount и suggested_tip_amounts, позволяющие добавить чаевые к платежу.
  • Параметр start_parameter метода sendInvoice стал необязательным. Если он не указан, то счёт можно оплатить напрямую из пересланных сообщений.
  • Добавлен тип VoiceChatScheduled и поле voice_chat_scheduled в объект Message.
  • Исправлена документация к методу sendChatAction: поле record_audio теперь корректно указано как record_voice, а upload_audio — как upload_voice. Обратная совместимость со старыми названиями сохранится.

Bot API 5.1

9 марта 2021

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

Два новых типа обновлений

  • Добавлены обновления о смене статуса юзера в чатах: объект ChatMemberUpdated и поля my_chat_member и chat_member в объекте Update. Бот должен быть администратором чата, чтобы получать апдейты chat_member об остальных участниках чата. По умолчанию приходят только апдейты my_chat_member от самого бота.

Улучшения пригласительных ссылок

  • Добавлен объект ChatInviteLink, представляющий пригласительную ссылку.
  • Добавлен метод createChatInviteLink, который позволяет создавать дополнительные пригласительные ссылки.
  • Добавлены методы editChatInviteLink и revokeChatInviteLink, необходимые для редактирования и удаления пригласительных ссылок, созданных ботом.

Информация о голосовом чате

  • Добавлен тип VoiceChatStarted и поле voice_chat_started в объект Message.
  • Добавлен тип VoiceChatEnded и поле voice_chat_ended в объект Message.
  • Добавлен тип VoiceChatParticipantsInvited и поле voice_chat_participants_invited в объект Message.
  • В объект ChatMember и метод promoteChatMember добавлена новая привилегия can_manage_voice_chats. На текущий момент боты могу использовать эту привилегию только для передачи другим администраторам.

Прочие обновления

  • Добавлен тип MessageAutoDeleteTimerChanged и поле message_auto_delete_timer_changed в объект Message.
  • В метод kickChatMember добавлен параметр revoke_messages. Он позволит удалить всю историю сообщений группы для удаляемого пользователя.
  • Добавлена новая административная привилегия can_manage_chat в объект ChatMember и параметр can_manage_chat в метод promoteChatMember.
  • Поддерживается новая анимация рандомизатора в виде шара для боулинга. Выбрать анимацию (кости, дартс, баскетбол, футбол, боулинг, игровой автомат) можно указав параметр emoji в методе sendDice.

Bot API 2.2

3 Октября 2016

Добавлена поддержка игровой платформы (читайте также анонс в блоге).

Прочие обновления

  • Новый метод getWebhookInfo для проверки текущего статуса вебхука.
  • Теперь можно указать HTTP URL для файла во всех методах, где есть InputFile или file_id. Telegram скачает файл с указанного URL и отправил пользователю. Файлы должны весить не более 5МБ для фото и не более 20МБ для остальных файлов.
  • Новый параметр url в объекте answerCallbackQuery позволит открыть диалог с вашим ботом с уникальными для каждого пользователя параметрами.
  • Добавлено поле switch_inline_query_current_chat в объект InlineKeyboardButton.
  • Добавлено поле caption методы sendAudio, sendVoice, InlineQueryResultAudio, InlineQueryResultVoice, InlineQueryResultCachedAudio и InlineQueryResultCachedVoice.
  • Некоторые ответы сервера теперь могут содержать параметры с описаниями ошибок, произошедших в процессе выполнения вашего запроса.

Bot API 2.1

25 мая 2016

Инлайн-клавиатуры теперь могут использоваться в группах (поддержка каналов будет добавлена позднее).

22 мая 2016

Добавлены инструменты для администрирования групп. Теперь боты умеют получать список администраторов и участников группы, проверять статус пользователя (администратор/создатель/забаненный/покинувший группу) и покидать группу.

Также добавлена поддержка отредактированных сообщений и новых упоминаний из Telegram v.3.9.

  • Добавлены методы: getChat, leaveChat, getChatAdministrators, getChatMember, getChatMembersCount
  • Новые поля: edited_message в объекте Update, edit_date в Message, user в MessageEntity. Новое значение text_mention поля type в MessageEntity.