From 6f1bd0014cad37f2f0b43a9b83733d9f65a91406 Mon Sep 17 00:00:00 2001
From: ouwou <26526779+ouwou@users.noreply.github.com>
Date: Tue, 13 Jun 2023 21:28:18 -0400
Subject: refactor, update user mention handling
---
src/discord/user.cpp | 16 ++++++++--------
src/discord/user.hpp | 24 +++++++++++++++---------
2 files changed, 23 insertions(+), 17 deletions(-)
(limited to 'src/discord')
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 "" + Glib::Markup::escape_text(GetName()) + "";
+std::string UserData::GetDisplayNameEscapedBold() const {
+ return "" + Glib::Markup::escape_text(GetDisplayName()) + "";
}
-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
- [[nodiscard]] inline std::string GetEscapedBoldString() const {
- if constexpr (with_at)
- return "@" + Glib::Markup::escape_text(Username) + "#" + Discriminator;
- else
- return "" + Glib::Markup::escape_text(Username) + "#" + Discriminator;
+ [[nodiscard]] inline std::string GetUsernameEscapedBold() const {
+ // stupid microoptimization (nanooptimization) that shouldnt exist
+ if constexpr (with_at) {
+ std::string r = "@" + Glib::Markup::escape_text(Username) + "";
+ if (!IsPomelo()) r += "#" + Discriminator;
+ return r;
+ } else {
+ std::string r = "" + Glib::Markup::escape_text(Username) + "";
+ if (!IsPomelo()) r += "#" + Discriminator;
+ return r;
+ }
}
};
--
cgit v1.2.3