diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-09-21 03:55:56 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-09-21 03:55:56 -0400 |
commit | 7f891fba337ffea129df26058335c8ab1316be8d (patch) | |
tree | 9f8fb2e06d612cf90492195221a186960aa1b711 /src/discord/discord.hpp | |
parent | ebfcfad2285ec6100035229ede60315079fb94a2 (diff) | |
download | abaddon-portaudio-7f891fba337ffea129df26058335c8ab1316be8d.tar.gz abaddon-portaudio-7f891fba337ffea129df26058335c8ab1316be8d.zip |
some lovely member list optimizations
Diffstat (limited to 'src/discord/discord.hpp')
-rw-r--r-- | src/discord/discord.hpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/discord/discord.hpp b/src/discord/discord.hpp index ebbf5f9..cb14a52 100644 --- a/src/discord/discord.hpp +++ b/src/discord/discord.hpp @@ -18,7 +18,7 @@ #include <queue> #ifdef GetMessage - #undef GetMessage +#undef GetMessage #endif class Abaddon; @@ -55,6 +55,7 @@ public: std::optional<GuildData> GetGuild(Snowflake id) const; std::optional<GuildMember> GetMember(Snowflake user_id, Snowflake guild_id) const; Snowflake GetMemberHoistedRole(Snowflake guild_id, Snowflake user_id, bool with_color = false) const; + std::optional<RoleData> GetMemberHoistedRoleCached(const GuildMember &member, const std::unordered_map<Snowflake, RoleData> &roles, bool with_color = false) const; std::optional<RoleData> GetMemberHighestRole(Snowflake guild_id, Snowflake user_id) const; std::set<Snowflake> GetUsersInGuild(Snowflake id) const; std::set<Snowflake> GetChannelsInGuild(Snowflake id) const; @@ -162,6 +163,11 @@ public: }); } + template<typename Iter> + std::vector<UserData> GetUsersBulk(Iter begin, Iter end) { + return m_store.GetUsersBulk(begin, end); + } + // FetchGuildBans fetches all bans+reasons via api, this func fetches stored bans (so usually just GUILD_BAN_ADD data) std::vector<BanData> GetBansInGuild(Snowflake guild_id); void FetchGuildBan(Snowflake guild_id, Snowflake user_id, const sigc::slot<void(BanData)> &callback); |