From af60bceada7e55011f6d5ed2f13fef354ced45ef Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Fri, 4 Mar 2022 23:03:09 -0500 Subject: optimize sql for getting unknown member ids --- src/discord/discord.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/discord/discord.hpp') diff --git a/src/discord/discord.hpp b/src/discord/discord.hpp index dfe82cd..6add18f 100644 --- a/src/discord/discord.hpp +++ b/src/discord/discord.hpp @@ -84,6 +84,17 @@ public: void GetArchivedPrivateThreads(Snowflake channel_id, sigc::slot callback); std::vector GetChildChannelIDs(Snowflake parent_id) const; + // get ids of given list of members for who we do not have the member data + template + std::unordered_set FilterUnknownMembersFrom(Snowflake guild_id, Iter begin, Iter end) { + std::unordered_set ret; + const auto known = m_store.GetMembersInGuild(guild_id); + for (auto iter = begin; iter != end; iter++) + if (known.find(*iter) == known.end()) + ret.insert(*iter); + return ret; + } + bool IsThreadJoined(Snowflake thread_id) const; bool HasGuildPermission(Snowflake user_id, Snowflake guild_id, Permission perm) const; -- cgit v1.2.3