From 7f891fba337ffea129df26058335c8ab1316be8d Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Thu, 21 Sep 2023 03:55:56 -0400 Subject: some lovely member list optimizations --- src/discord/discord.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/discord/discord.hpp') 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 #ifdef GetMessage - #undef GetMessage +#undef GetMessage #endif class Abaddon; @@ -55,6 +55,7 @@ public: std::optional GetGuild(Snowflake id) const; std::optional GetMember(Snowflake user_id, Snowflake guild_id) const; Snowflake GetMemberHoistedRole(Snowflake guild_id, Snowflake user_id, bool with_color = false) const; + std::optional GetMemberHoistedRoleCached(const GuildMember &member, const std::unordered_map &roles, bool with_color = false) const; std::optional GetMemberHighestRole(Snowflake guild_id, Snowflake user_id) const; std::set GetUsersInGuild(Snowflake id) const; std::set GetChannelsInGuild(Snowflake id) const; @@ -162,6 +163,11 @@ public: }); } + template + std::vector 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 GetBansInGuild(Snowflake guild_id); void FetchGuildBan(Snowflake guild_id, Snowflake user_id, const sigc::slot &callback); -- cgit v1.2.3