diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-06-25 05:53:59 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-25 05:53:59 +0000 |
commit | 66101a25cbe4739ade20484c2a020b9130125ec3 (patch) | |
tree | f1f3a2084677d90a37d1c4e3b17a19a606fe8d90 /src/discord/user.hpp | |
parent | ba24e13419bfa6efd08a0d07f049a6981ff4cd28 (diff) | |
parent | 19f7d55c8748e4fcd651540e299347689a2070ad (diff) | |
download | abaddon-portaudio-66101a25cbe4739ade20484c2a020b9130125ec3.tar.gz abaddon-portaudio-66101a25cbe4739ade20484c2a020b9130125ec3.zip |
Merge pull request #176 from uowuo/pomelo
pomelo support (and nicknames)
Diffstat (limited to 'src/discord/user.hpp')
-rw-r--r-- | src/discord/user.hpp | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/discord/user.hpp b/src/discord/user.hpp index 1b9d517..8b2a2c4 100644 --- a/src/discord/user.hpp +++ b/src/discord/user.hpp @@ -25,6 +25,11 @@ struct UserData { VerifiedBot = 1 << 16, EarlyVerifiedBotDeveloper = 1 << 17, CertifiedModerator = 1 << 18, + BotHTTPInteractions = 1 << 19, + Spammer = 1 << 20, + DisablePremium = 1 << 21, + ActiveDeveloper = 1 << 22, + Quarantined = 1ULL << 44, MaxFlag_PlusOne, MaxFlag = MaxFlag_PlusOne - 1, @@ -37,6 +42,7 @@ struct UserData { std::string Username; std::string Discriminator; std::string Avatar; // null + std::optional<std::string> GlobalName; std::optional<bool> IsBot; std::optional<bool> IsSystem; std::optional<bool> IsMFAEnabled; @@ -60,6 +66,7 @@ struct UserData { friend void to_json(nlohmann::json &j, const UserData &m); void update_from_json(const nlohmann::json &j); + [[nodiscard]] bool IsPomelo() const noexcept; [[nodiscard]] bool IsABot() const noexcept; [[nodiscard]] bool IsDeleted() const; [[nodiscard]] bool HasAvatar() const; @@ -72,14 +79,15 @@ 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 GetEscapedName() const; - [[nodiscard]] std::string GetEscapedBoldName() const; - [[nodiscard]] std::string GetEscapedString() 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]] std::string GetDisplayName() const; + [[nodiscard]] std::string GetDisplayName(Snowflake guild_id) const; + [[nodiscard]] std::string GetDisplayName(const std::optional<Snowflake> &guild_id) const; + [[nodiscard]] std::string GetDisplayNameEscaped() const; + [[nodiscard]] std::string GetDisplayNameEscaped(Snowflake guild_id) const; + [[nodiscard]] std::string GetDisplayNameEscapedBold() const; + [[nodiscard]] std::string GetDisplayNameEscapedBold(Snowflake guild_id) const; + [[nodiscard]] std::string GetUsername() const; + [[nodiscard]] std::string GetUsernameEscaped() const; + [[nodiscard]] std::string GetUsernameEscapedBold() const; + [[nodiscard]] std::string GetUsernameEscapedBoldAt() const; }; |