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

Finish preliminary rework, ready to test

This commit is contained in:
Dark 2021-06-02 04:07:50 +02:00
parent 57893e7f76
commit d0a1beb809
No known key found for this signature in database
GPG key ID: 2CD6ACB6B0A87B8A
177 changed files with 854 additions and 707 deletions

View file

@ -8,8 +8,9 @@ import { LogsPlugin } from "../../Logs/LogsPlugin";
import { missingPermissionError } from "../../../utils/missingPermissionError";
import { canAssignRole } from "../../../utils/canAssignRole";
import { memberRolesLock } from "../../../utils/lockNameHelpers";
import { GuildMemberEditData, Permissions } from "discord.js";
const p = Constants.Permissions;
const p = Permissions.FLAGS;
export const LoadDataEvt = persistEvt({
event: "guildMemberAdd",
@ -26,16 +27,16 @@ export const LoadDataEvt = persistEvt({
return;
}
const toRestore: MemberOptions = {};
let toRestore: GuildMemberEditData = {};
const config = await pluginData.config.getForMember(member);
const restoredData: string[] = [];
// Check permissions
const me = pluginData.guild.members.cache.get(pluginData.client.user!.id)!;
let requiredPermissions = 0n;
if (config.persist_nicknames) requiredPermissions |= p.manageNicknames;
if (config.persisted_roles) requiredPermissions |= p.manageRoles;
const missingPermissions = getMissingPermissions(me.permission, requiredPermissions);
if (config.persist_nicknames) requiredPermissions |= p.MANAGE_NICKNAMES;
if (config.persisted_roles) requiredPermissions |= p.MANAGE_ROLES;
const missingPermissions = getMissingPermissions(me.permissions, requiredPermissions);
if (missingPermissions) {
pluginData.getPlugin(LogsPlugin).log(LogType.BOT_ALERT, {
body: `Missing permissions for persist plugin: ${missingPermissionError(missingPermissions)}`,
@ -61,7 +62,7 @@ export const LoadDataEvt = persistEvt({
if (rolesToRestore.length) {
restoredData.push("roles");
toRestore.roles = Array.from(new Set([...rolesToRestore, ...member.roles]));
toRestore.roles = Array.from(new Set([...rolesToRestore, ...member.roles.cache]));
}
}