summaryrefslogtreecommitdiff
path: root/src/discord
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-07-15 21:14:39 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2023-07-15 21:14:39 -0400
commit52b52eb489caa64e6cea978f2c6917a55fa70979 (patch)
tree740be513f52752cf25479bede9e8e2231bf0ffa6 /src/discord
parentadd48af094ec9111727862d3f2ee1916474a2471 (diff)
downloadabaddon-portaudio-52b52eb489caa64e6cea978f2c6917a55fa70979.tar.gz
abaddon-portaudio-52b52eb489caa64e6cea978f2c6917a55fa70979.zip
check if message is editable
Diffstat (limited to 'src/discord')
-rw-r--r--src/discord/message.cpp4
-rw-r--r--src/discord/message.hpp10
2 files changed, 10 insertions, 4 deletions
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;