mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-02-18 04:20:57 +03:00
Officially remove resolve_invite_link
This commit is contained in:
parent
9af8ec8cce
commit
ba8cdc80da
|
@ -195,6 +195,19 @@ Additionally, the ``custom.File.id`` property is gone (which used to provide acc
|
||||||
// this should lessen the impact of the removal of this feature
|
// this should lessen the impact of the removal of this feature
|
||||||
|
|
||||||
|
|
||||||
|
Removal of several utility methods
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
The following ``utils`` methods no longer exist or have been made private:
|
||||||
|
|
||||||
|
* ``utils.resolve_bot_file_id``. It was half-broken.
|
||||||
|
* ``utils.pack_bot_file_id``. It was half-broken.
|
||||||
|
* ``utils.resolve_invite_link``. It has been broken for a while, so this just makes its removal
|
||||||
|
official (see `issue #1723 <https://github.com/LonamiWebs/Telethon/issues/1723>`__).
|
||||||
|
|
||||||
|
// TODO provide the new clean utils
|
||||||
|
|
||||||
|
|
||||||
The custom.Message class and the way it is used has changed
|
The custom.Message class and the way it is used has changed
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -1115,43 +1115,6 @@ def _encode_telegram_base64(string):
|
||||||
return None # not valid base64, not valid ascii, not a string
|
return None # not valid base64, not valid ascii, not a string
|
||||||
|
|
||||||
|
|
||||||
def resolve_invite_link(link):
|
|
||||||
"""
|
|
||||||
Resolves the given invite link. Returns a tuple of
|
|
||||||
``(link creator user id, global chat id, random int)``.
|
|
||||||
|
|
||||||
Note that for broadcast channels or with the newest link format, the link
|
|
||||||
creator user ID will be zero to protect their identity. Normal chats and
|
|
||||||
megagroup channels will have such ID.
|
|
||||||
|
|
||||||
Note that the chat ID may not be accurate for chats with a link that were
|
|
||||||
upgraded to megagroup, since the link can remain the same, but the chat
|
|
||||||
ID will be correct once a new link is generated.
|
|
||||||
"""
|
|
||||||
link_hash, is_link = parse_username(link)
|
|
||||||
if not is_link:
|
|
||||||
# Perhaps the user passed the link hash directly
|
|
||||||
link_hash = link
|
|
||||||
|
|
||||||
# Little known fact, but invite links with a
|
|
||||||
# hex-string of bytes instead of base64 also works.
|
|
||||||
if re.match(r'[a-fA-F\d]+', link_hash) and len(link_hash) in (24, 32):
|
|
||||||
payload = bytes.fromhex(link_hash)
|
|
||||||
else:
|
|
||||||
payload = _decode_telegram_base64(link_hash)
|
|
||||||
|
|
||||||
try:
|
|
||||||
if len(payload) == 12:
|
|
||||||
return (0, *struct.unpack('>LQ', payload))
|
|
||||||
elif len(payload) == 16:
|
|
||||||
return struct.unpack('>LLQ', payload)
|
|
||||||
else:
|
|
||||||
pass
|
|
||||||
except (struct.error, TypeError):
|
|
||||||
pass
|
|
||||||
return None, None, None
|
|
||||||
|
|
||||||
|
|
||||||
def resolve_inline_message_id(inline_msg_id):
|
def resolve_inline_message_id(inline_msg_id):
|
||||||
"""
|
"""
|
||||||
Resolves an inline message ID. Returns a tuple of
|
Resolves an inline message ID. Returns a tuple of
|
||||||
|
|
|
@ -204,10 +204,6 @@ class MemorySession(Session):
|
||||||
username, invite = utils.parse_username(key)
|
username, invite = utils.parse_username(key)
|
||||||
if username and not invite:
|
if username and not invite:
|
||||||
result = self.get_entity_rows_by_username(username)
|
result = self.get_entity_rows_by_username(username)
|
||||||
else:
|
|
||||||
tup = utils.resolve_invite_link(key)[1]
|
|
||||||
if tup:
|
|
||||||
result = self.get_entity_rows_by_id(tup, exact=False)
|
|
||||||
|
|
||||||
elif isinstance(key, int):
|
elif isinstance(key, int):
|
||||||
result = self.get_entity_rows_by_id(key, exact)
|
result = self.get_entity_rows_by_id(key, exact)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user