diff options
Diffstat (limited to 'src/discord')
-rw-r--r-- | src/discord/user.cpp | 16 | ||||
-rw-r--r-- | src/discord/user.hpp | 24 |
2 files changed, 23 insertions, 17 deletions
diff --git a/src/discord/user.cpp b/src/discord/user.cpp index 06073ad..38157e7 100644 --- a/src/discord/user.cpp +++ b/src/discord/user.cpp @@ -81,7 +81,7 @@ std::string UserData::GetMention() const { return "<@" + std::to_string(ID) + ">"; } -std::string UserData::GetName() const { +std::string UserData::GetDisplayName() const { if (IsPomelo() && GlobalName.has_value()) { return *GlobalName; } @@ -97,19 +97,19 @@ std::string UserData::GetUsername() const { return Username + "#" + Discriminator; } -std::string UserData::GetEscapedName() const { - return Glib::Markup::escape_text(GetName()); +std::string UserData::GetDisplayNameEscaped() const { + return Glib::Markup::escape_text(GetDisplayName()); } -std::string UserData::GetEscapedBoldName() const { - return "<b>" + Glib::Markup::escape_text(GetName()) + "</b>"; +std::string UserData::GetDisplayNameEscapedBold() const { + return "<b>" + Glib::Markup::escape_text(GetDisplayName()) + "</b>"; } -std::string UserData::GetEscapedString() const { +std::string UserData::GetUsernameEscaped() const { if (IsPomelo()) { - return GetEscapedName(); + return GetDisplayNameEscaped(); } - return Glib::Markup::escape_text(GetName()) + "#" + Discriminator; + return Glib::Markup::escape_text(GetDisplayName()) + "#" + Discriminator; } void from_json(const nlohmann::json &j, UserData &m) { 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; + } } }; |