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

check no perms for overrides

This commit is contained in:
metal 2021-12-10 13:46:17 +00:00 committed by GitHub
parent 42c56db858
commit fb91250208
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -31,6 +31,7 @@ export const ChangePermsAction = automodAction({
const allow = new Permissions(overwrite ? overwrite.allow : "0").serialize(); const allow = new Permissions(overwrite ? overwrite.allow : "0").serialize();
const deny = new Permissions(overwrite ? overwrite.deny : "0").serialize(); const deny = new Permissions(overwrite ? overwrite.deny : "0").serialize();
const newPerms: Partial<Record<PermissionString, boolean | null>> = {}; const newPerms: Partial<Record<PermissionString, boolean | null>> = {};
let hasPerms = false;
for (const key in allow) { for (const key in allow) {
if (typeof actionConfig.perms[key] !== "undefined") { if (typeof actionConfig.perms[key] !== "undefined") {
@ -39,10 +40,16 @@ export const ChangePermsAction = automodAction({
} }
if (allow[key]) { if (allow[key]) {
newPerms[key] = true; newPerms[key] = true;
hasPerms = true;
} else if (deny[key]) { } else if (deny[key]) {
newPerms[key] = false; newPerms[key] = false;
hasPerms = true;
} }
} }
if (overwrite && !hasPerms) {
await channel.permissionOverwrites.delete(actionConfig.target).catch(noop);
return;
}
await channel.permissionOverwrites.create(actionConfig.target, newPerms).catch(noop); await channel.permissionOverwrites.create(actionConfig.target, newPerms).catch(noop);
return; return;
} }