Как я могу удалить сообщение, когда пользователь нажимает одну из кнопок inline_keyboard? - PullRequest
0 голосов
/ 30 января 2019

Хотелось бы узнать, возможно ли отправить сообщение с inline_keyboard пользователю Telegram Bot и удалить это сообщение после того, как пользователь нажмет одну из кнопок клавиатуры.Я отправляю сообщения пользователям через API.

Вот мой звонок в telegram api:

https://api.telegram.org/bot012345678:fdvnljfnvlskn345bklbv/sendMessage?chat_id=123456789&text=Hello&reply_markup={"inline_keyboard":[[{"text":"Yes","callback_data":"Yes"},{"text":"No","callback_data":"No"}]]}

1 Ответ

0 голосов
/ 31 января 2019

Имея chat_id и message_id, вы можете использовать метод deleteMessage .

A message_id можно получить из ответа сервера на ваш исходный запрос sendMessage (потому что сервер возвращает a Message объект ).

Обратите внимание, что существуют некоторые ограничения на использование deleteMessage:

  • Сообщение можно удалить только в том случае, если оно было отправлено менее 48 часов назад .
  • Боты могут удалять исходящие сообщения в частных чатах, группах и супергруппах.
  • Боты, которым предоставлены разрешения can_post_messages, могут удалять исходящие сообщения в каналах.
  • Если бот является администратором группы, он может удалять там любое сообщение.
  • Если бот имеет разрешение can_delete_messages в супергруппе иликанал, он может удалить любое сообщение там.
...