diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-07-28 03:34:36 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-07-28 03:34:36 -0400 |
commit | 014e176e0a7cf457a03278dbdf8495400981b8b2 (patch) | |
tree | af04057a3ed6ca7da1f646a8b7a6440425ec5d94 /discord/channel.hpp | |
parent | 9d2d13a3898f05f9e8189f99087198726d476e1b (diff) | |
download | abaddon-portaudio-014e176e0a7cf457a03278dbdf8495400981b8b2.tar.gz abaddon-portaudio-014e176e0a7cf457a03278dbdf8495400981b8b2.zip |
handle THREAD_CREATE
also fix compilation
also change channel_create signal to emit ChannelData
Diffstat (limited to 'discord/channel.hpp')
-rw-r--r-- | discord/channel.hpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/discord/channel.hpp b/discord/channel.hpp index d262ddf..606686d 100644 --- a/discord/channel.hpp +++ b/discord/channel.hpp @@ -38,13 +38,24 @@ constexpr const char *GetStagePrivacyDisplayString(StagePrivacy e) { } } -struct ThreadMetadata { +// should be moved somewhere? + +struct ThreadMetadataData { bool IsArchived; int AutoArchiveDuration; std::string ArchiveTimestamp; std::optional<bool> IsLocked; - friend void from_json(const nlohmann::json &j, ThreadMetadata &m); + friend void from_json(const nlohmann::json &j, ThreadMetadataData &m); +}; + +struct ThreadMemberObject { + std::optional<Snowflake> ThreadID; + std::optional<Snowflake> UserID; + std::string JoinTimestamp; + int Flags; + + friend void from_json(const nlohmann::json &j, ThreadMemberObject &m); }; struct ChannelData { @@ -67,7 +78,8 @@ struct ChannelData { std::optional<Snowflake> ApplicationID; std::optional<Snowflake> ParentID; // null std::optional<std::string> LastPinTimestamp; // null - std::optional<ThreadMetadata> ThreadMetadata; + std::optional<ThreadMetadataData> ThreadMetadata; + std::optional<ThreadMemberObject> ThreadMember; friend void from_json(const nlohmann::json &j, ChannelData &m); void update_from_json(const nlohmann::json &j); |