diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-06-13 21:28:18 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-06-13 21:28:18 -0400 |
commit | 6f1bd0014cad37f2f0b43a9b83733d9f65a91406 (patch) | |
tree | 94792781e7d6a18b7e528d8adfa5e1c7656c177f /src/discord/user.hpp | |
parent | a4a8293a0e9dc2e7023cc5f407eb78a505f22129 (diff) | |
download | abaddon-portaudio-6f1bd0014cad37f2f0b43a9b83733d9f65a91406.tar.gz abaddon-portaudio-6f1bd0014cad37f2f0b43a9b83733d9f65a91406.zip |
refactor, update user mention handling
Diffstat (limited to 'src/discord/user.hpp')
-rw-r--r-- | src/discord/user.hpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/discord/user.hpp b/src/discord/user.hpp index 05acd05..d2c1002 100644 --- a/src/discord/user.hpp +++ b/src/discord/user.hpp @@ -79,16 +79,22 @@ struct UserData { [[nodiscard]] std::string GetDefaultAvatarURL() const; [[nodiscard]] Snowflake GetHoistedRole(Snowflake guild_id, bool with_color = false) const; [[nodiscard]] std::string GetMention() const; - [[nodiscard]] std::string GetName() const; + [[nodiscard]] std::string GetDisplayName() const; + [[nodiscard]] std::string GetDisplayNameEscaped() const; + [[nodiscard]] std::string GetDisplayNameEscapedBold() const; [[nodiscard]] std::string GetUsername() const; - [[nodiscard]] std::string GetEscapedName() const; - [[nodiscard]] std::string GetEscapedBoldName() const; - [[nodiscard]] std::string GetEscapedString() const; + [[nodiscard]] std::string GetUsernameEscaped() const; template<bool with_at> - [[nodiscard]] inline std::string GetEscapedBoldString() const { - if constexpr (with_at) - return "<b>@" + Glib::Markup::escape_text(Username) + "</b>#" + Discriminator; - else - return "<b>" + Glib::Markup::escape_text(Username) + "</b>#" + Discriminator; + [[nodiscard]] inline std::string GetUsernameEscapedBold() const { + // stupid microoptimization (nanooptimization) that shouldnt exist + if constexpr (with_at) { + std::string r = "<b>@" + Glib::Markup::escape_text(Username) + "</b>"; + if (!IsPomelo()) r += "#" + Discriminator; + return r; + } else { + std::string r = "<b>" + Glib::Markup::escape_text(Username) + "</b>"; + if (!IsPomelo()) r += "#" + Discriminator; + return r; + } } }; |