Migrated Persist to new Plugin structure

This commit is contained in:
Dark 2020-07-21 01:02:42 +02:00
parent b6257b9189
commit e1323687a7
5 changed files with 144 additions and 0 deletions

View file

@ -0,0 +1,35 @@
import { persistEvent } from "../types";
import { IPartialPersistData } from "src/data/GuildPersistedData";
import { Member } from "eris";
import intersection from "lodash.intersection";
export const StoreDataEvt = persistEvent({
event: "guildMemberRemove",
async listener(meta) {
const member = meta.args.member as Member;
const pluginData = meta.pluginData;
let persist = false;
const persistData: IPartialPersistData = {};
const config = pluginData.config.getForUser(member.user);
const persistedRoles = config.persisted_roles;
if (persistedRoles.length && member.roles) {
const rolesToPersist = intersection(persistedRoles, member.roles);
if (rolesToPersist.length) {
persist = true;
persistData.roles = rolesToPersist;
}
}
if (config.persist_nicknames && member.nick) {
persist = true;
persistData.nickname = member.nick;
}
if (persist) {
pluginData.state.persistedData.set(member.id, persistData);
}
},
});