2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-28 21:07:59 +00:00

Add pack_inline_message_id util function

This commit is contained in:
Dan 2022-04-24 11:56:07 +02:00
parent 663594876d
commit 4e6c1690d2

View File

@ -146,6 +146,26 @@ def parse_deleted_messages(client, update) -> List["types.Message"]:
return types.List(parsed_messages)
def pack_inline_message_id(msg_id: "raw.base.InputBotInlineMessageID"):
if isinstance(msg_id, raw.types.InputBotInlineMessageID):
inline_message_id_packed = struct.pack(
"<iqq",
msg_id.dc_id,
msg_id.id,
msg_id.access_hash
)
else:
inline_message_id_packed = struct.pack(
"<iqiq",
msg_id.dc_id,
msg_id.owner_id,
msg_id.id,
msg_id.access_hash
)
return base64.urlsafe_b64encode(inline_message_id_packed).decode().rstrip("=")
def unpack_inline_message_id(inline_message_id: str) -> "raw.types.InputBotInlineMessageID":
r = inline_message_id + "=" * (-len(inline_message_id) % 4)
r = struct.unpack("<iqq", base64.b64decode(r, altchars=b"-_"))