summaryrefslogtreecommitdiff
path: root/discord/discord.hpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-09-05 23:04:11 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2020-09-05 23:04:11 -0400
commitaf82a8df8e469739765918b1627de20948186eb4 (patch)
tree4c9f93c9e917d54f9928deae77cc98bd3a322942 /discord/discord.hpp
parentde482d6cb7a57c804e771d14dcb1c592b5f07402 (diff)
downloadabaddon-portaudio-af82a8df8e469739765918b1627de20948186eb4.tar.gz
abaddon-portaudio-af82a8df8e469739765918b1627de20948186eb4.zip
better member list, role color, some fixes
Diffstat (limited to 'discord/discord.hpp')
-rw-r--r--discord/discord.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/discord/discord.hpp b/discord/discord.hpp
index b746778..f5aa07d 100644
--- a/discord/discord.hpp
+++ b/discord/discord.hpp
@@ -56,6 +56,7 @@ public:
using Guilds_t = std::unordered_map<Snowflake, GuildData>;
using Messages_t = std::unordered_map<Snowflake, MessageData>;
using Users_t = std::unordered_map<Snowflake, UserData>;
+ using Roles_t = std::unordered_map<Snowflake, RoleData>;
const Guilds_t &GetGuilds() const;
const UserData &GetUserData() const;
@@ -70,6 +71,8 @@ public:
const MessageData *GetMessage(Snowflake id) const;
const ChannelData *GetChannel(Snowflake id) const;
const UserData *GetUser(Snowflake id) const;
+ const RoleData *GetRole(Snowflake id) const;
+ Snowflake GetMemberHoistedRole(Snowflake guild_id, Snowflake user_id, bool with_color = false) const;
std::unordered_set<Snowflake> GetUsersInGuild(Snowflake id) const;
void SendChatMessage(std::string content, Snowflake channel);
@@ -113,10 +116,16 @@ private:
void StoreChannel(Snowflake id, const ChannelData &c);
Channels_t m_channels;
+ void AddGuildMemberData(Snowflake guild_id, Snowflake user_id, const GuildMemberData &data);
+ const GuildMemberData *GetGuildMemberData(Snowflake user_id, Snowflake guild_id) const;
void AddUserToGuild(Snowflake user_id, Snowflake guild_id);
void StoreUser(const UserData &u);
Users_t m_users;
std::unordered_map<Snowflake, std::unordered_set<Snowflake>> m_guild_to_users;
+ std::unordered_map<Snowflake, std::unordered_map<Snowflake, GuildMemberData>> m_members;
+
+ void StoreRole(const RoleData &r);
+ Roles_t m_roles;
UserData m_user_data;
UserSettingsData m_user_settings;