mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-29 21:03:45 +03:00
Lowercase usernames before adding them to the database
This commit is contained in:
parent
aef96f1b68
commit
86429e7291
|
@ -330,7 +330,7 @@ class Session:
|
||||||
p_hash = p.access_hash
|
p_hash = p.access_hash
|
||||||
|
|
||||||
if p_hash is not None:
|
if p_hash is not None:
|
||||||
username = getattr(e, 'username', None)
|
username = getattr(e, 'username', '').lower() or None
|
||||||
phone = getattr(e, 'phone', None)
|
phone = getattr(e, 'phone', None)
|
||||||
name = utils.get_display_name(e) or None
|
name = utils.get_display_name(e) or None
|
||||||
rows.append((marked_id, p_hash, username, phone, name))
|
rows.append((marked_id, p_hash, username, phone, name))
|
||||||
|
@ -357,6 +357,11 @@ class Session:
|
||||||
Raises ValueError if it cannot be found.
|
Raises ValueError if it cannot be found.
|
||||||
"""
|
"""
|
||||||
c = self._conn.cursor()
|
c = self._conn.cursor()
|
||||||
|
if isinstance(key, TLObject):
|
||||||
|
if type(key).SUBCLASS_OF_ID == 0xc91c90b6: # crc32(b'InputPeer')
|
||||||
|
return key
|
||||||
|
key = utils.get_peer_id(key, add_mark=True)
|
||||||
|
|
||||||
if isinstance(key, str):
|
if isinstance(key, str):
|
||||||
phone = utils.parse_phone(key)
|
phone = utils.parse_phone(key)
|
||||||
if phone:
|
if phone:
|
||||||
|
@ -367,12 +372,6 @@ class Session:
|
||||||
c.execute('select id, hash from entities where username=?',
|
c.execute('select id, hash from entities where username=?',
|
||||||
(username,))
|
(username,))
|
||||||
|
|
||||||
if isinstance(key, TLObject):
|
|
||||||
# crc32(b'InputPeer') and crc32(b'Peer')
|
|
||||||
if type(key).SUBCLASS_OF_ID == 0xc91c90b6:
|
|
||||||
return key
|
|
||||||
key = utils.get_peer_id(key, add_mark=True)
|
|
||||||
|
|
||||||
if isinstance(key, int):
|
if isinstance(key, int):
|
||||||
c.execute('select id, hash from entities where id=?', (key,))
|
c.execute('select id, hash from entities where id=?', (key,))
|
||||||
|
|
||||||
|
|
|
@ -325,14 +325,17 @@ def parse_phone(phone):
|
||||||
def parse_username(username):
|
def parse_username(username):
|
||||||
"""Parses the given username or channel access hash, given
|
"""Parses the given username or channel access hash, given
|
||||||
a string, username or URL. Returns a tuple consisting of
|
a string, username or URL. Returns a tuple consisting of
|
||||||
both the stripped username and whether it is a joinchat/ hash.
|
both the stripped, lowercase username and whether it is
|
||||||
|
a joinchat/ hash (in which case is not lowercase'd).
|
||||||
"""
|
"""
|
||||||
username = username.strip()
|
username = username.strip()
|
||||||
m = USERNAME_RE.match(username)
|
m = USERNAME_RE.match(username)
|
||||||
if m:
|
if m:
|
||||||
return username[m.end():], bool(m.group(1))
|
result = username[m.end():]
|
||||||
|
is_invite = bool(m.group(1))
|
||||||
|
return result if is_invite else result.lower(), is_invite
|
||||||
else:
|
else:
|
||||||
return username, False
|
return username.lower(), False
|
||||||
|
|
||||||
|
|
||||||
def get_peer_id(peer, add_mark=False):
|
def get_peer_id(peer, add_mark=False):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user