From c0488d7d9aa2692c833f0497482ef2bc3efbfe3e Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Thu, 5 Aug 2021 00:27:25 +0800 Subject: [PATCH] [+] Add username reference option in mention function --- SlashBot.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/SlashBot.py b/SlashBot.py index 1e4cc6c..6a3af66 100644 --- a/SlashBot.py +++ b/SlashBot.py @@ -62,12 +62,20 @@ def get_users(msg): return from_user, rpl_user -def mention(user): - space = ' ' - if 'last_name' not in user: - user['last_name'] = '' - space = '' - return f"[{user['first_name']}{space}{user['last_name']}](tg://user?id={user['id']})" +# Create mention string from user +def mention(user: Dict[str, str]) -> str: + + # Combine name + last = user.get('last_name', '') + first = user['first_name'] + name = first + (f' {last}' if last else '') + + # Create user reference link + username = user.get('username', '') + uid = user.get('id', '') + link = f'tg://resolve?domain={username}' if username else f'tg://user?id={uid}' + + return f"[{name}]({link})" def get_text(mention_from, mention_rpl, command):