mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-22 14:35:36 +01:00
Merge pull request #713 from teloxide/improve_buttons_example2
Properly handle callback queries in `examples/buttons.rs`
Former-commit-id: be9c20ef32
This commit is contained in:
commit
1af8b0f904
1 changed files with 11 additions and 9 deletions
|
@ -112,15 +112,17 @@ async fn callback_handler(
|
|||
if let Some(version) = q.data {
|
||||
let text = format!("You chose: {version}");
|
||||
|
||||
match q.message {
|
||||
Some(Message { id, chat, .. }) => {
|
||||
bot.edit_message_text(chat.id, id, text).await?;
|
||||
}
|
||||
None => {
|
||||
if let Some(id) = q.inline_message_id {
|
||||
bot.edit_message_text_inline(id, text).await?;
|
||||
}
|
||||
}
|
||||
// Tell telegram that we've seen this query, to remove 🕑 icons from the
|
||||
//
|
||||
// clients. You could also use `answer_callback_query`'s optional
|
||||
// parameters to tweak what happens on the client side.
|
||||
bot.answer_callback_query(q.id).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);
|
||||
|
|
Loading…
Reference in a new issue