Carnage
@Carnage
QA Automation, DevOps, Java, Python

Как в телеграмм боте сделать кнопку, которая подменяет клавиатуру?

Как сделать в телеграмм боте кнопку, как на скриншоте ниже? После её нажатия вызывается клавиатура для взаимодействия с ботом. Скорее всего, чтобы кнопка появилась, нужно создать такую клавиатуру, но я не могу ничего в документации по этому поводу найти и в примерах тоже. Желательно, конечно, если вы подскажите как её создать без использования фреймворков, чтобы я понял суть.
603c8394c522a452832675.jpeg
  • Вопрос задан
  • 413 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
чтобы кнопка появилась, нужно создать такую клавиатуру

Да

Собственно, у метода sendMessage есть поле reply_markup, которое может в себе содержать
InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply

Возьмем ReplyKeyboardMarkup, она создает такую клавиатуру. ReplyKeyboardMarkup состоит из нескольких необязательных полей, описывающих поведение и расположение кнопок и одного обязательного поля keyboard, которое является
Array of Array of KeyboardButton

Ну а KeyboardButton уже содержит в себе поле text, определяющее, как ни странно, текст, и другие, которые меняют поведение кнопки.

import requests

CHAT_ID = 123
TOKEN = 123

keyboard = {'keyboard': [[{'text': 'Button 1'}, {'text': 'Button 2', 'request_contact': True}]]}
payload = {'chat_id': CHAT_ID , 'text': 'Hello, world!', 'reply_markup': keyboard}

requests.post(f'https://api.telegram.org/bot{TOKEN}/sendMessage', json=payload)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
MinTnt
@MinTnt
Это метод https://core.telegram.org/bots/api#replykeyboardmarkup
В Гугле есть много примеров, просто написав его в запрос
Ответ написан
Комментировать
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
https://habr.com/ru/post/522720/

Что ж вы все не умеете гуглить-то?!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы