version-0.2.0

This commit is contained in:
2024-01-06 14:25:35 +03:00
parent bc05b93c47
commit 908529b5bb
26 changed files with 185 additions and 153 deletions

21
utils/mention.py Normal file
View File

@@ -0,0 +1,21 @@
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):
ln = " " + user.get('last_name', "") if user.get('last_name', "") else ""
identity = f"{user['first_name']}{ln}"
uid = user["id"]
username = user.get("username", "")
if username:
username = f"(@{username})"
return uid, identity, username