Properly handle callback queries in examples/buttons.rs

Former-commit-id: 376ffc85f9
This commit is contained in:
Maybe Waffle 2022-09-12 16:50:59 +04:00
parent 7a3257a5f4
commit f10bb5c3e0

View file

@ -112,15 +112,17 @@ async fn callback_handler(
if let Some(version) = q.data { if let Some(version) = q.data {
let text = format!("You chose: {version}"); let text = format!("You chose: {version}");
match q.message { // Tell telegram that we've seen this query, to remove 🕑 icons from the
Some(Message { id, chat, .. }) => { //
bot.edit_message_text(chat.id, id, text).await?; // clients. You could also use `answer_callback_query`'s optional
} // parameters to tweak what happens on the client side.
None => { bot.answer_callback_query(q.id).await?;
if let Some(id) = q.inline_message_id {
bot.edit_message_text_inline(id, text).await?; // Edit text of the message to which the buttons were attached
} if let Some(Message { id, chat, .. }) = q.message {
} bot.edit_message_text(chat.id, id, text).await?;
} else if let Some(id) = q.inline_message_id {
bot.edit_message_text_inline(id, text).await?;
} }
log::info!("You chose: {}", version); log::info!("You chose: {}", version);