3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00

feat: add member cache; handle all role changes with RoleManagerPlugin; exit gracefully

This commit is contained in:
Dragory 2023-05-07 17:56:55 +03:00
parent fd60a09947
commit fa50110766
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
48 changed files with 755 additions and 264 deletions

View file

@ -0,0 +1,17 @@
import { GuildPluginData } from "knub";
import { GuildMemberCachePluginType } from "../types";
export async function updateMemberCacheForMember(
pluginData: GuildPluginData<GuildMemberCachePluginType>,
userId: string,
) {
const upToDateMember = await pluginData.guild.members.fetch(userId);
const roles = Array.from(upToDateMember.roles.cache.keys())
// Filter out @everyone role
.filter((roleId) => roleId !== pluginData.guild.id);
pluginData.state.memberCache.setCachedMemberData(upToDateMember.id, {
username: upToDateMember.user.username,
nickname: upToDateMember.nickname,
roles,
});
}