summaryrefslogtreecommitdiff
path: root/discord/objects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'discord/objects.cpp')
-rw-r--r--discord/objects.cpp64
1 files changed, 62 insertions, 2 deletions
diff --git a/discord/objects.cpp b/discord/objects.cpp
index 8588b30..c6de2ce 100644
--- a/discord/objects.cpp
+++ b/discord/objects.cpp
@@ -85,10 +85,16 @@ void to_json(nlohmann::json &j, const LazyLoadRequestMessage &m) {
for (const auto &[key, chans] : *m.Channels)
j["d"]["channels"][std::to_string(key)] = chans;
}
- j["d"]["typing"] = m.ShouldGetTyping;
- j["d"]["activities"] = m.ShouldGetActivities;
+ if (m.ShouldGetTyping)
+ j["d"]["typing"] = *m.ShouldGetTyping;
+ if (m.ShouldGetActivities)
+ j["d"]["activities"] = *m.ShouldGetActivities;
+ if (m.ShouldGetThreads)
+ j["d"]["threads"] = *m.ShouldGetThreads;
if (m.Members.has_value())
j["d"]["members"] = *m.Members;
+ if (m.ThreadIDs.has_value())
+ j["d"]["thread_member_lists"] = *m.ThreadIDs;
}
void to_json(nlohmann::json &j, const UpdateStatusMessage &m) {
@@ -472,3 +478,57 @@ void to_json(nlohmann::json &j, const FriendRequestObject &m) {
void to_json(nlohmann::json &j, const PutRelationshipObject &m) {
JS_IF("type", m.Type);
}
+
+void from_json(const nlohmann::json &j, ThreadCreateData &m) {
+ j.get_to(m.Channel);
+}
+
+void from_json(const nlohmann::json &j, ThreadDeleteData &m) {
+ JS_D("id", m.ID);
+ JS_D("guild_id", m.GuildID);
+ JS_D("parent_id", m.ParentID);
+ JS_D("type", m.Type);
+}
+
+void from_json(const nlohmann::json &j, ThreadListSyncData &m) {
+ JS_D("threads", m.Threads);
+ JS_D("guild_id", m.GuildID);
+}
+
+void from_json(const nlohmann::json &j, ThreadMembersUpdateData &m) {
+ JS_D("id", m.ID);
+ JS_D("guild_id", m.GuildID);
+ JS_D("member_count", m.MemberCount);
+ JS_O("added_members", m.AddedMembers);
+ JS_O("removed_member_ids", m.RemovedMemberIDs);
+}
+
+void from_json(const nlohmann::json &j, ArchivedThreadsResponseData &m) {
+ JS_D("threads", m.Threads);
+ JS_D("members", m.Members);
+ JS_D("has_more", m.HasMore);
+}
+
+void from_json(const nlohmann::json &j, ThreadMemberUpdateData &m) {
+ m.Member = j;
+}
+
+void from_json(const nlohmann::json &j, ThreadUpdateData &m) {
+ m.Thread = j;
+}
+
+void from_json(const nlohmann::json &j, ThreadMemberListUpdateData::UserEntry &m) {
+ JS_D("user_id", m.UserID);
+ JS_D("member", m.Member);
+}
+
+void from_json(const nlohmann::json &j, ThreadMemberListUpdateData &m) {
+ JS_D("thread_id", m.ThreadID);
+ JS_D("guild_id", m.GuildID);
+ JS_D("members", m.Members);
+}
+
+void to_json(nlohmann::json &j, const ModifyChannelObject &m) {
+ JS_IF("archived", m.Archived);
+ JS_IF("locked", m.Locked);
+}