summaryrefslogtreecommitdiff
path: root/discord/objects.hpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-01-26 02:40:50 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2021-01-26 02:40:50 -0500
commitdabfefafd9c681231f990eccddc771ccf5c2c2e2 (patch)
tree35fc440dbacf8367fa650dde89217b23cf08bf33 /discord/objects.hpp
parente6c159659d30ca3cc955b9a7f7969f51d87a0bf9 (diff)
downloadabaddon-portaudio-dabfefafd9c681231f990eccddc771ccf5c2c2e2.tar.gz
abaddon-portaudio-dabfefafd9c681231f990eccddc771ccf5c2c2e2.zip
show status indicators in member list, change some other shit with presences
Diffstat (limited to 'discord/objects.hpp')
-rw-r--r--discord/objects.hpp35
1 files changed, 19 insertions, 16 deletions
diff --git a/discord/objects.hpp b/discord/objects.hpp
index e7e574c..0b3e92d 100644
--- a/discord/objects.hpp
+++ b/discord/objects.hpp
@@ -129,15 +129,15 @@ struct GuildMemberListUpdateMessage {
};
struct MemberItem : Item {
- UserData User; //
- std::vector<Snowflake> Roles; //
- // PresenceData Presence; //
+ UserData User;
+ std::vector<Snowflake> Roles;
+ std::optional<PresenceData> Presence;
std::string PremiumSince; // opt
std::string Nickname; // opt
- bool IsMuted; //
- std::string JoinedAt; //
- std::string HoistedRole; // null
- bool IsDefeaned; //
+ bool IsMuted;
+ std::string JoinedAt;
+ std::string HoistedRole; // null
+ bool IsDefeaned;
GuildMember GetAsMemberData() const;
@@ -177,7 +177,10 @@ struct LazyLoadRequestMessage {
};
struct UpdateStatusMessage {
- PresenceData Presence;
+ int Since = 0;
+ std::vector<ActivityData> Activities;
+ PresenceStatus Status;
+ bool IsAFK = false;
friend void to_json(nlohmann::json &j, const UpdateStatusMessage &m);
};
@@ -278,20 +281,20 @@ struct GuildMemberUpdateMessage {
friend void from_json(const nlohmann::json &j, GuildMemberUpdateMessage &m);
};
-struct ClientStatus {
- std::string Desktop; // opt
- std::string Mobile; // opt
- std::string Web; // opt
+struct ClientStatusData {
+ std::optional<std::string> Desktop;
+ std::optional<std::string> Mobile;
+ std::optional<std::string> Web;
- friend void from_json(const nlohmann::json &j, ClientStatus &m);
+ friend void from_json(const nlohmann::json &j, ClientStatusData &m);
};
struct PresenceUpdateMessage {
nlohmann::json User; // the client updates an existing object from this data
- Snowflake GuildID; // opt
+ std::optional<Snowflake> GuildID;
std::string StatusMessage;
- // std::vector<ActivityData> Activities;
- ClientStatus Status;
+ std::vector<ActivityData> Activities;
+ ClientStatusData ClientStatus;
friend void from_json(const nlohmann::json &j, PresenceUpdateMessage &m);
};