summaryrefslogtreecommitdiff
path: root/src/discord/objects.hpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-12-05 03:57:26 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2021-12-05 03:57:26 -0500
commitaf567847970121765674dc8d0542b9c4a1f89ed1 (patch)
treea67af688c82fb3e49fee9fe60d5ab69ac2173b20 /src/discord/objects.hpp
parent246140688714936820b5c977665ad2a904fa7222 (diff)
downloadabaddon-portaudio-af567847970121765674dc8d0542b9c4a1f89ed1.tar.gz
abaddon-portaudio-af567847970121765674dc8d0542b9c4a1f89ed1.zip
basic unread indicators for channels
Diffstat (limited to 'src/discord/objects.hpp')
-rw-r--r--src/discord/objects.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/discord/objects.hpp b/src/discord/objects.hpp
index 7084efb..008fe98 100644
--- a/src/discord/objects.hpp
+++ b/src/discord/objects.hpp
@@ -78,6 +78,7 @@ enum class GatewayEvent : int {
THREAD_MEMBER_UPDATE,
THREAD_MEMBERS_UPDATE,
THREAD_MEMBER_LIST_UPDATE,
+ MESSAGE_ACK,
};
enum class GatewayCloseCode : uint16_t {
@@ -224,6 +225,23 @@ struct UpdateStatusMessage {
friend void to_json(nlohmann::json &j, const UpdateStatusMessage &m);
};
+struct ReadStateEntry {
+ int MentionCount;
+ Snowflake LastMessageID;
+ Snowflake ID;
+ // std::string LastPinTimestamp; iso
+
+ friend void from_json(const nlohmann::json &j, ReadStateEntry &m);
+};
+
+struct ReadStateData {
+ int Version;
+ bool IsPartial;
+ std::vector<ReadStateEntry> Entries;
+
+ friend void from_json(const nlohmann::json &j, ReadStateData &m);
+};
+
struct ReadyEventData {
int GatewayVersion;
UserData SelfUser;
@@ -239,6 +257,7 @@ struct ReadyEventData {
std::optional<std::vector<std::vector<GuildMember>>> MergedMembers;
std::optional<std::vector<RelationshipData>> Relationships;
std::optional<std::vector<GuildApplicationData>> GuildJoinRequests;
+ ReadStateData ReadState;
// std::vector<Unknown> ConnectedAccounts; // opt
// std::map<std::string, Unknown> Consents; // opt
// std::vector<Unknown> Experiments; // opt
@@ -745,3 +764,11 @@ struct ModifyChannelObject {
friend void to_json(nlohmann::json &j, const ModifyChannelObject &m);
};
+
+struct MessageAckData {
+ // int Version; // what is this ?!?!?!!?
+ Snowflake MessageID;
+ Snowflake ChannelID;
+
+ friend void from_json(const nlohmann::json &j, MessageAckData &m);
+};