summaryrefslogtreecommitdiff
path: root/discord/invite.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-02-18 17:07:21 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2021-02-18 17:07:21 -0500
commit901028cec9a9d167e670218188449f40bbd23851 (patch)
tree706c63c457c64c63fc609729b96b56c86515b085 /discord/invite.cpp
parent3ab3119602c46e7c4802b2b8e017752738cd7031 (diff)
downloadabaddon-portaudio-901028cec9a9d167e670218188449f40bbd23851.tar.gz
abaddon-portaudio-901028cec9a9d167e670218188449f40bbd23851.zip
join guild -> accept invite, handle group dm invites
Diffstat (limited to 'discord/invite.cpp')
-rw-r--r--discord/invite.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/discord/invite.cpp b/discord/invite.cpp
index 641d113..63043a1 100644
--- a/discord/invite.cpp
+++ b/discord/invite.cpp
@@ -1,5 +1,16 @@
#include "invite.hpp"
+void from_json(const nlohmann::json &j, InviteChannelData &m) {
+ JS_D("id", m.ID);
+ JS_D("type", m.Type);
+ JS_ON("name", m.Name);
+ if (j.contains("recipients") && j.at("recipients").is_null()) {
+ m.RecipientUsernames.emplace();
+ for (const auto &x : j.at("recipients"))
+ m.RecipientUsernames->push_back(x.at("username").get<std::string>());
+ }
+}
+
void from_json(const nlohmann::json &j, InviteData &m) {
JS_D("code", m.Code);
JS_O("guild", m.Guild);
@@ -15,3 +26,14 @@ void from_json(const nlohmann::json &j, InviteData &m) {
JS_O("temporary", m.IsTemporary);
JS_O("created_at", m.CreatedAt);
}
+
+InviteChannelData::InviteChannelData(const ChannelData &c) {
+ ID = c.ID;
+ Type = c.Type;
+ Name = c.Name;
+ if (Type == ChannelType::GROUP_DM) {
+ RecipientUsernames.emplace();
+ for (const auto &r : c.GetDMRecipients())
+ RecipientUsernames->push_back(r.Username);
+ }
+}