diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-11-28 22:48:30 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2021-11-28 22:48:30 -0500 |
commit | e1703aea3fd597b23bde90e6c505278c517be611 (patch) | |
tree | 37d98fc90c9cd0844388bfb79beda2204f44af92 /src/discord/invite.cpp | |
parent | fd53a76bf6f53a095a639765923a30f2206b2cd6 (diff) | |
parent | e02107feea8214a045e6faa969f00dcbc0d2b072 (diff) | |
download | abaddon-portaudio-e1703aea3fd597b23bde90e6c505278c517be611.tar.gz abaddon-portaudio-e1703aea3fd597b23bde90e6c505278c517be611.zip |
merge master
Diffstat (limited to 'src/discord/invite.cpp')
-rw-r--r-- | src/discord/invite.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/discord/invite.cpp b/src/discord/invite.cpp new file mode 100644 index 0000000..63043a1 --- /dev/null +++ b/src/discord/invite.cpp @@ -0,0 +1,39 @@ +#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); + JS_O("channel", m.Channel); + JS_O("inviter", m.Inviter); + JS_O("target_user", m.TargetUser); + JS_O("target_user_type", m.TargetUserType); + JS_O("approximate_presence_count", m.PresenceCount); + JS_O("approximate_member_count", m.MemberCount); + JS_O("uses", m.Uses); + JS_O("max_uses", m.MaxUses); + JS_O("max_age", m.MaxAge); + 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); + } +} |