Тип данных ForceReply

Объект ForceReply принудительно отображает интерфейс ответа в клиентах Telegram, упрощая создание пошаговых диалогов с ботом.

Описание

При получении сообщения с этим объектом клиенты Telegram отобразят пользователю интерфейс ответа (будет вести себя так, как если бы пользователь выбрал сообщение бота и нажал «Ответить»). Это может быть чрезвычайно полезно, если вы хотите создавать удобные пошаговые интерфейсы, не отказываясь от режима конфиденциальности. Не поддерживается в каналах и для сообщений, отправленных от имени бизнес-аккаунта Telegram.

Поле Тип Описание
force_reply True Показывает интерфейс ответа пользователю, как если бы он вручную выбрал сообщение бота и нажал «Ответить»
input_field_placeholder String Опционально. Заполнитель, который будет отображаться в поле ввода, когда ответ активен; 1-64 символа
selective Boolean Опционально. Используйте этот параметр, если хотите принудительно получить ответ только от определённых пользователей. Цели: 1) пользователи, упомянутые в тексте объекта Message; 2) если сообщение бота является ответом на сообщение в том же чате и теме форума, отправитель исходного сообщения.

Пример: Бот для опросов в группах работает в режиме конфиденциальности (получает только команды, ответы на свои сообщения и упоминания). Существует два способа создания нового опроса:

  • Объяснить пользователю, как отправить команду с параметрами (например, /newpoll вопрос ответ1 ответ2). Может быть привлекательно для опытных пользователей, но не соответствует современным стандартам удобства.
  • Провести пользователя через пошаговый процесс. «Пожалуйста, отправьте мне ваш вопрос», «Отлично, теперь давайте добавим первый вариант ответа», «Прекрасно. Продолжайте добавлять варианты ответов, затем отправьте /done, когда будете готовы».

Последний вариант определённо более привлекателен. И если вы используете ForceReply в вопросах вашего бота, он будет получать ответы пользователей, даже если получает только ответы, команды и упоминания — без каких-либо дополнительных действий со стороны пользователя.

Примеры

json

{
  "force_reply": true,
  "input_field_placeholder": "Type your answer here...",
  "selective": true
}

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

  • API 5.3. Обновлен объект ForceReply: Добавлена возможность указывать пользовательский placeholder

Дополнительно

  • Message - Это основной объект, представляющий сообщение в Telegram, который содержит информацию об отправителе, чате, контенте (текст, медиа, служебные данные) и различные метаданные.
Комментарии