From aa3907466cf5a145e6a24784307d5d772ad43c68 Mon Sep 17 00:00:00 2001 From: Noi Date: Sat, 9 Sep 2023 10:42:08 -0700 Subject: [PATCH 1/4] Support new username format --- Commands/CommandsBase.cs | 15 +++++++++++---- WorldTime.cs | 3 ++- WorldTime.csproj | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Commands/CommandsBase.cs b/Commands/CommandsBase.cs index cc25cf8..c794a93 100644 --- a/Commands/CommandsBase.cs +++ b/Commands/CommandsBase.cs @@ -66,11 +66,18 @@ public class CommandsBase : InteractionModuleBase { return result.ToString(); } - var username = escapeFormattingCharacters(user.Username); - if (user.Nickname != null) { - return $"**{escapeFormattingCharacters(user.Nickname)}** ({username}#{user.Discriminator})"; + if (user.DiscriminatorValue == 0) { + if (user.Nickname != null) { + return $"**{escapeFormattingCharacters(user.Nickname)}** ({escapeFormattingCharacters(user.ToString())})"; + } + return user.ToString(); + } else { + var username = escapeFormattingCharacters(user.Username); + if (user.Nickname != null) { + return $"**{escapeFormattingCharacters(user.Nickname)}** ({username}#{user.Discriminator})"; + } + return $"**{username}**#{user.Discriminator}"; } - return $"**{username}**#{user.Discriminator}"; } /// diff --git a/WorldTime.cs b/WorldTime.cs index 074cd70..2b8906f 100644 --- a/WorldTime.cs +++ b/WorldTime.cs @@ -41,7 +41,8 @@ internal class WorldTime : IDisposable { MessageCacheSize = 0, // disable message cache GatewayIntents = GatewayIntents.Guilds | GatewayIntents.GuildMembers, SuppressUnknownDispatchWarnings = true, - LogGatewayIntentWarnings = false + LogGatewayIntentWarnings = false, + FormatUsersInBidirectionalUnicode = false }; _services = new ServiceCollection() .AddSingleton(new DiscordShardedClient(clientConf)) diff --git a/WorldTime.csproj b/WorldTime.csproj index 34172b8..e5e81c4 100644 --- a/WorldTime.csproj +++ b/WorldTime.csproj @@ -11,7 +11,7 @@ - + From 4ed5640bc1b7be08641fc2f2a5d1d32a268b6f07 Mon Sep 17 00:00:00 2001 From: Noi Date: Sat, 9 Sep 2023 10:53:05 -0700 Subject: [PATCH 2/4] Escape special characters from display name --- Commands/CommandsBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Commands/CommandsBase.cs b/Commands/CommandsBase.cs index c794a93..7951282 100644 --- a/Commands/CommandsBase.cs +++ b/Commands/CommandsBase.cs @@ -70,7 +70,7 @@ public class CommandsBase : InteractionModuleBase { if (user.Nickname != null) { return $"**{escapeFormattingCharacters(user.Nickname)}** ({escapeFormattingCharacters(user.ToString())})"; } - return user.ToString(); + return escapeFormattingCharacters(user.ToString()); } else { var username = escapeFormattingCharacters(user.Username); if (user.Nickname != null) { From f310dc72ca5d1239e5f8ed336c2c60f3941c894d Mon Sep 17 00:00:00 2001 From: Noi Date: Sun, 10 Sep 2023 13:55:57 -0700 Subject: [PATCH 3/4] Use display name The documentation misled me a bit... --- Commands/CommandsBase.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Commands/CommandsBase.cs b/Commands/CommandsBase.cs index 7951282..f8bc41c 100644 --- a/Commands/CommandsBase.cs +++ b/Commands/CommandsBase.cs @@ -67,10 +67,11 @@ public class CommandsBase : InteractionModuleBase { } if (user.DiscriminatorValue == 0) { + var username = escapeFormattingCharacters(user.GlobalName ?? user.Username); if (user.Nickname != null) { - return $"**{escapeFormattingCharacters(user.Nickname)}** ({escapeFormattingCharacters(user.ToString())})"; + return $"**{escapeFormattingCharacters(user.Nickname)}** ({username})"; } - return escapeFormattingCharacters(user.ToString()); + return username; } else { var username = escapeFormattingCharacters(user.Username); if (user.Nickname != null) { From 88c0063008dd79a7dbfbff37872fdc7e3eec9146 Mon Sep 17 00:00:00 2001 From: Noi Date: Sun, 10 Sep 2023 14:10:33 -0700 Subject: [PATCH 4/4] Formatting fixes and tweakss --- Commands/CommandsBase.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Commands/CommandsBase.cs b/Commands/CommandsBase.cs index f8bc41c..8c6e127 100644 --- a/Commands/CommandsBase.cs +++ b/Commands/CommandsBase.cs @@ -58,7 +58,7 @@ public class CommandsBase : InteractionModuleBase { static string escapeFormattingCharacters(string input) { var result = new StringBuilder(); foreach (var c in input) { - if (c is '\\' or '_' or '~' or '*' or '@') { + if (c is '\\' or '_' or '~' or '*' or '@' or '`') { result.Append('\\'); } result.Append(c); @@ -69,15 +69,15 @@ public class CommandsBase : InteractionModuleBase { if (user.DiscriminatorValue == 0) { var username = escapeFormattingCharacters(user.GlobalName ?? user.Username); if (user.Nickname != null) { - return $"**{escapeFormattingCharacters(user.Nickname)}** ({username})"; + return $"{escapeFormattingCharacters(user.Nickname)} ({username})"; } return username; } else { var username = escapeFormattingCharacters(user.Username); if (user.Nickname != null) { - return $"**{escapeFormattingCharacters(user.Nickname)}** ({username}#{user.Discriminator})"; + return $"{escapeFormattingCharacters(user.Nickname)} ({username}#{user.Discriminator})"; } - return $"**{username}**#{user.Discriminator}"; + return $"{username}#{user.Discriminator}"; } }