Как удалить клавиатуру?(Python telegram bot, keyboard_remove)
Python3+, requests
Отправляю кнопку с запросом номера:
reply_markup = {'keyboard': [[{'text':'contact', 'request_contact':True}]]}
кнопка появляется и работает, но как ее потом убрать?
вариант:
reply_markup = {'keyboard': [[{'text':'contact', 'request_contact':True, 'one_time_keyboard':True}]]}
не помог. Такой вариант:
reply_markup = {'keyboard':[[{'Keyboard_Remove':True}]]}
тоже ничего не меняет.
Ответы (2 шт):
Когда получаете следующее сообщение, добавьте строку:
await message.answer("Клавиатура скрыта", reply_markup=types.ReplyKeyboardRemove())
Т.к. удалить кнопки так и не вышло, нашел другой подход:
отправляем запрос контакта.
reply_markup = {'keyboard': [[{'text':'contactrequest', 'request_contact':True}]], 'one_time_keyboard':True, 'resize_keyboard': True} data = {'chat_id': chat_id, 'text':'test', 'reply_markup': json.dumps(reply_markup)} r = requests.post(URL, data)
После полученного номера, отправляем другую клавиатуру
reply_markup = {'keyboard': [['Yes', 'No']], "resize_keyboard": True, 'one_time_keyboard':True} data = {'chat_id': chat_id, 'text': 'test', 'reply_markup': json.dumps(reply_markup)} r = requests.post(URL, data)
а вот такую клавиатуру уже можно и удалить
reply_markup = {'remove_keyboard':True} data = {'chat_id': chat_id, 'text': 'test', 'reply_markup': json.dumps(reply_markup)} r = requests.post(URL, data)