summaryrefslogtreecommitdiff
path: root/discord/objects.hpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-08-20 01:13:51 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2021-08-20 01:13:51 -0400
commit2a45d7173ab58e60b63ce1e1183d719442988a32 (patch)
tree716d5a07e5f3d1cb2ba4970cacfcb40b11e84386 /discord/objects.hpp
parent1fa3e5beac2002b35d04dcd6c0f4d7132709ca30 (diff)
downloadabaddon-portaudio-2a45d7173ab58e60b63ce1e1183d719442988a32.tar.gz
abaddon-portaudio-2a45d7173ab58e60b63ce1e1183d719442988a32.zip
proper member list in threads
Diffstat (limited to 'discord/objects.hpp')
-rw-r--r--discord/objects.hpp28
1 files changed, 23 insertions, 5 deletions
diff --git a/discord/objects.hpp b/discord/objects.hpp
index daaa9b2..4613a85 100644
--- a/discord/objects.hpp
+++ b/discord/objects.hpp
@@ -77,6 +77,7 @@ enum class GatewayEvent : int {
THREAD_LIST_SYNC,
THREAD_MEMBER_UPDATE,
THREAD_MEMBERS_UPDATE,
+ THREAD_MEMBER_LIST_UPDATE,
};
enum class GatewayCloseCode : uint16_t {
@@ -204,11 +205,12 @@ struct GuildMemberListUpdateMessage {
struct LazyLoadRequestMessage {
Snowflake GuildID;
- bool ShouldGetTyping = false;
- bool ShouldGetActivities = false;
- bool ShouldGetThreads = false;
- std::optional<std::vector<std::string>> Members; // snowflake?
- std::optional<std::unordered_map<Snowflake, std::vector<std::pair<int, int>>>> Channels; // channel ID -> range of sidebar
+ std::optional<bool> ShouldGetTyping;
+ std::optional<bool> ShouldGetActivities;
+ std::optional<bool> ShouldGetThreads;
+ std::optional<std::vector<std::string>> Members; // snowflake?
+ std::optional<std::map<Snowflake, std::vector<std::pair<int, int>>>> Channels; // channel ID -> range of sidebar
+ std::optional<std::vector<Snowflake>> ThreadIDs;
friend void to_json(nlohmann::json &j, const LazyLoadRequestMessage &m);
};
@@ -720,3 +722,19 @@ struct ThreadUpdateData {
friend void from_json(const nlohmann::json &j, ThreadUpdateData &m);
};
+
+struct ThreadMemberListUpdateData {
+ struct UserEntry {
+ Snowflake UserID;
+ // PresenceData Presence;
+ GuildMember Member;
+
+ friend void from_json(const nlohmann::json &j, UserEntry &m);
+ };
+
+ Snowflake ThreadID;
+ Snowflake GuildID;
+ std::vector<UserEntry> Members;
+
+ friend void from_json(const nlohmann::json &j, ThreadMemberListUpdateData &m);
+};