summaryrefslogtreecommitdiff
path: root/discord/channel.hpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-09-09 23:17:26 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2020-09-09 23:17:26 -0400
commit51cf8fd2df3cf7a602d05540627a5ad8af6baa58 (patch)
tree1fac31d47c6e9a211c142f56aec154371544e3f5 /discord/channel.hpp
parent5975e85d42a49652bb33de9f5213cb4dd5bf08e0 (diff)
downloadabaddon-portaudio-51cf8fd2df3cf7a602d05540627a5ad8af6baa58.tar.gz
abaddon-portaudio-51cf8fd2df3cf7a602d05540627a5ad8af6baa58.zip
rename and reorder a bunch of discord stuff
Diffstat (limited to 'discord/channel.hpp')
-rw-r--r--discord/channel.hpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/discord/channel.hpp b/discord/channel.hpp
new file mode 100644
index 0000000..78246f6
--- /dev/null
+++ b/discord/channel.hpp
@@ -0,0 +1,39 @@
+#pragma once
+#include "snowflake.hpp"
+#include "json.hpp"
+#include "user.hpp"
+#include <string>
+#include <vector>
+
+enum class ChannelType : int {
+ GUILD_TEXT = 0,
+ DM = 1,
+ GUILD_VOICE = 2,
+ GROUP_DM = 3,
+ GUILD_CATEGORY = 4,
+ GUILD_NEWS = 5,
+ GUILD_STORE = 6,
+};
+
+struct Channel {
+ Snowflake ID; //
+ ChannelType Type; //
+ Snowflake GuildID; // opt
+ int Position = -1; // opt
+ // std::vector<PermissionOverwriteData> PermissionOverwrites; // opt
+ std::string Name; // opt, null (null for dm's)
+ std::string Topic; // opt, null
+ bool IsNSFW = false; // opt
+ Snowflake LastMessageID; // opt, null
+ int Bitrate = 0; // opt
+ int UserLimit = 0; // opt
+ int RateLimitPerUser = 0; // opt
+ std::vector<User> Recipients; // opt
+ std::string Icon; // opt, null
+ Snowflake OwnerID; // opt
+ Snowflake ApplicationID; // opt
+ Snowflake ParentID; // opt, null
+ std::string LastPinTimestamp; // opt, can be null even tho docs say otherwise
+
+ friend void from_json(const nlohmann::json &j, Channel &m);
+};