Closed dgarciah98 closed 8 months ago
Oh, this is definitely because of the PR #135, I'll take a look, sorry for the problems and thanks for reporting it!
The problem ultimately was that I didn't realize that the API had new generic types, and since there is specific dispatch I had to add some custom logic to decide which subtype it is.
With the PR #154 this is fixed, can you try?
Yup! Now looks like it works properly and callback queries are behaving like usual, here is what the model looks like now:
callback_query: %ExGram.Model.CallbackQuery{
id: # redacted,
from: %ExGram.Model.User{
# redacted
},
message: %ExGram.Model.Message{
message_id: 56,
message_thread_id: nil,
from: %ExGram.Model.User{
id: # redacted,
is_bot: true,
first_name: # redacted,
last_name: nil,
username: # redacted,
language_code: nil,
is_premium: nil,
added_to_attachment_menu: nil,
can_join_groups: nil,
can_read_all_group_messages: nil,
supports_inline_queries: nil
},
sender_chat: nil,
sender_boost_count: nil,
date: 1710436126,
chat: %ExGram.Model.Chat{
# redacted
},
forward_origin: nil,
is_topic_message: nil,
is_automatic_forward: nil,
reply_to_message: nil,
external_reply: nil,
quote: nil,
reply_to_story: nil,
via_bot: nil,
edit_date: nil,
has_protected_content: true,
media_group_id: nil,
author_signature: nil,
text: # redacted,
entities: nil,
link_preview_options: nil,
animation: nil,
audio: nil,
document: nil,
photo: nil,
sticker: nil,
story: nil,
video: nil,
video_note: nil,
voice: nil,
caption: nil,
caption_entities: nil,
has_media_spoiler: nil,
...
},
inline_message_id: nil,
chat_instance: # redacted,
data: "close",
game_short_name: nil
}
I'd say this could be closed since everything is back to normal. Muchas gracias Rock!
Released 0.52.1
with the fix. Thanks again for the reporting! 🧡
Right now, after updating to version 0.52.0, I'm having difficulties dealing with callback queries due to
MaybeInaccessibleMessage
being received as the message in aCallbackQuery
model.In my case, I was using the message from the callback for retrieving a inline keyboard which I use as buttons for a menu, modify its buttons, and sending them back by editing the message from where the callback was made. Right now this is the message object I'm receiving, where none of this fields can be seen. This is taken from the bot context:
Downgrading to version 0.51.1 still behaves like before, though the difference is that instead of receiving a defined struct (as it could be
ExGram.Model.Message
), the message is just a map, however it still shows all the contents of the message, here is an example of the context in this case:As I understand from reading the Telegram Bot API docs,
MaybeInaccessibleMessage
is supposed to be a supertype of bothMessage
andInaccessibleMessage
, therefore is there any way that I could convert the message struct into the desired type, or is there any other solution to deal with this?