This commit is contained in:
2023-04-28 15:24:14 +03:00
parent 351b53f007
commit 318b24243a
20 changed files with 244 additions and 154 deletions

View File

@@ -1,9 +1,20 @@
def escape_username(username):
# Replace any non-ASCII and non-alphanumeric characters with underscores
return ''.join(c if c.isalnum() or c.isspace() else '-' for c in username)
# generates a mention from standard telegram web json 'from' field
# using HTML markup
def mention(user):
uid, identity, username = userdata_extract(user)
identity = escape_username(identity)
return f'<a href="tg://user?id={uid}">{identity} {username}</a>'
def userdata_extract(user):
identity = f"{user['first_name']} {user.get('last_name', '')}".strip()
uid = user['id']
username = user.get('username', '')
if username:
username = f'(@{username})'
return f'<a href="tg://user?id={uid}"><b>{identity}</b></a>{username}'
return uid, identity, username