title: Get inline message info from inline_message_id and query_id in Pyrogram
body: <p>I am trying to get information about an inline message sent by my bot in order to edit it. The message has an inline keyboard attached and, on the pression of a button, the message should be edited. The edit should be based on the information contained in the message and its keyboard.</p>
  <p><strong>Problem</strong>: when a user presses a button from that inline keyboard, my bot only receives information about that <code>callback_query</code>, not about the whole keyboard nor the text written in the message. Now, since my editing should use that information, I am trying to retrieve them using some method call like <code>get_messages</code>, but this does not seem to work since inline messages don't have a <code>Chat</code> object and their <code>inline_message_id</code> is not even a number.</p>
  <p>So I went looking at the docs, both from Pyrogram and Telegram itself, and I found out that there is a raw method <code>GetMessages</code> which takes as input a list of <code>InputMessage</code>, and one constructor for <code>InputMessage</code> is <code>InputMessageID</code>, which seems correct for my case since it does not require a <code>chat_id</code>. So i tried building an <code>InputMessageID</code> using the <code>inline_message_id</code> from the <code>RawUpdate</code> (because the non-raw update <code>CallbackQuery</code> had different types (str instead of int) for some reason). The problem here is that <code>GetMessages</code> returns a <code>MessageEmpty</code> object.</p>
  <p>Here is the code:</p>
  <pre><code>async def edit_inline_message(client: Client, update: UpdateInlineBotCallbackQuery, users, chats):
      # according to https://core.telegram.org/constructor/inputBotInlineMessageID
      # inputBotInlineMessageID.id has this format
      user_id, message_id = update.msg_id.id &gt;&gt; 32, update.msg_id.id &amp; 0xFFFFFFFF
      print(
          await client.send(
              GetMessages(
                  id = [InputMessageID(id = message_id)]
              )
          )
      )
  </code></pre>
  <p>and the result:</p>
  <pre><code>{
      &quot;_&quot;: &quot;types.messages.Messages&quot;,
      &quot;messages&quot;: [
          {
              &quot;_&quot;: &quot;types.MessageEmpty&quot;,
              &quot;id&quot;: 1473846
          }
      ],
      &quot;chats&quot;: [],
      &quot;users&quot;: []
  }
  </code></pre>
  <p>I also tried using <code>InputMessageCallbackQuery</code> instead of <code>InputMessageID</code> but the result is even worse:</p>
  <pre><code>{
      &quot;_&quot;: &quot;types.messages.Messages&quot;,
      &quot;messages&quot;: [],
      &quot;chats&quot;: [],
      &quot;users&quot;: []
  }
  </code></pre>