summaryrefslogtreecommitdiff
path: root/src/discord/invite.hpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-11-28 22:48:30 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2021-11-28 22:48:30 -0500
commite1703aea3fd597b23bde90e6c505278c517be611 (patch)
tree37d98fc90c9cd0844388bfb79beda2204f44af92 /src/discord/invite.hpp
parentfd53a76bf6f53a095a639765923a30f2206b2cd6 (diff)
parente02107feea8214a045e6faa969f00dcbc0d2b072 (diff)
downloadabaddon-portaudio-e1703aea3fd597b23bde90e6c505278c517be611.tar.gz
abaddon-portaudio-e1703aea3fd597b23bde90e6c505278c517be611.zip
merge master
Diffstat (limited to 'src/discord/invite.hpp')
-rw-r--r--src/discord/invite.hpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/discord/invite.hpp b/src/discord/invite.hpp
new file mode 100644
index 0000000..c4c2cf3
--- /dev/null
+++ b/src/discord/invite.hpp
@@ -0,0 +1,41 @@
+#pragma once
+#include "json.hpp"
+#include "guild.hpp"
+#include <string>
+
+enum class ETargetUserType {
+ STREAM = 1
+};
+
+class InviteChannelData {
+public:
+ InviteChannelData() = default;
+ InviteChannelData(const ChannelData &c);
+
+ Snowflake ID;
+ ChannelType Type;
+ std::optional<std::string> Name;
+ std::optional<std::vector<std::string>> RecipientUsernames;
+ // std::optional<??> Icon;
+
+ friend void from_json(const nlohmann::json &j, InviteChannelData &m);
+};
+
+class InviteData {
+public:
+ std::string Code;
+ std::optional<GuildData> Guild;
+ std::optional<InviteChannelData> Channel;
+ std::optional<UserData> Inviter;
+ std::optional<UserData> TargetUser;
+ std::optional<ETargetUserType> TargetUserType;
+ std::optional<int> PresenceCount;
+ std::optional<int> MemberCount;
+ std::optional<int> Uses;
+ std::optional<int> MaxUses;
+ std::optional<int> MaxAge;
+ std::optional<bool> IsTemporary;
+ std::optional<std::string> CreatedAt;
+
+ friend void from_json(const nlohmann::json &j, InviteData &m);
+};