Skip to content

Commit

Permalink
Rewrite user formatter to exclude more cases of similar names and spe…
Browse files Browse the repository at this point in the history
…cial chars
  • Loading branch information
Tina-otoge committed Jul 10, 2024
1 parent f3c1e50 commit 8abe454
Showing 1 changed file with 26 additions and 3 deletions.
29 changes: 26 additions & 3 deletions mechadon/formatters.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@


def member(member: discord.Member):
if member.nick:
return f"{member.nick} aka {member._user}"
return str(member._user)
def similar(*args):
args = [x.lower() for x in args if x]
if len(set(args)) == 1:
return args[0]
return False

result = member.nick
if result:
if not similar(result, member.global_name):
result += f" aka {member.global_name}"
else:
result = member.global_name

if result:
if not (
(member.nick and similar(member.nick, member.name))
or similar(member.global_name, member.name)
):
result += f" (@{member.name})"
else:
result = member.name

for c in ("_", "*", "`", "~", "|", ">", "#"):
result = result.replace(c, f"\\{c}")

return result

0 comments on commit 8abe454

Please sign in to comment.