From 52b52eb489caa64e6cea978f2c6917a55fa70979 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Sat, 15 Jul 2023 21:14:39 -0400 Subject: check if message is editable --- src/discord/message.cpp | 4 ++++ src/discord/message.hpp | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'src/discord') diff --git a/src/discord/message.cpp b/src/discord/message.cpp index f5d8ad8..9adc7e6 100644 --- a/src/discord/message.cpp +++ b/src/discord/message.cpp @@ -265,6 +265,10 @@ bool Message::IsEdited() const { return m_edited; } +bool Message::IsEditable() const noexcept { + return (Abaddon::Get().GetDiscordClient().GetUserData().ID == Author.ID) && !IsDeleted() && !IsPending && (Type == MessageType::DEFAULT || Type == MessageType::INLINE_REPLY); +} + bool Message::DoesMentionEveryoneOrUser(Snowflake id) const noexcept { if (DoesMentionEveryone) return true; return std::any_of(Mentions.begin(), Mentions.end(), [id](const UserData &user) { diff --git a/src/discord/message.hpp b/src/discord/message.hpp index 5028104..fb11604 100644 --- a/src/discord/message.hpp +++ b/src/discord/message.hpp @@ -219,11 +219,13 @@ struct Message { void SetDeleted(); void SetEdited(); - [[nodiscard]] bool IsDeleted() const; - [[nodiscard]] bool IsEdited() const; + bool IsDeleted() const; + bool IsEdited() const; - [[nodiscard]] bool DoesMentionEveryoneOrUser(Snowflake id) const noexcept; - [[nodiscard]] bool DoesMention(Snowflake id) const noexcept; + bool IsEditable() const noexcept; + + bool DoesMentionEveryoneOrUser(Snowflake id) const noexcept; + bool DoesMention(Snowflake id) const noexcept; private: bool m_deleted = false; -- cgit v1.2.3