From e07b65a47721fa7df48b08faf524260367d72b04 Mon Sep 17 00:00:00 2001 From: metal Date: Mon, 13 Sep 2021 10:28:37 +0000 Subject: [PATCH] initial --- backend/src/plugins/Persist/events/LoadDataEvt.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/src/plugins/Persist/events/LoadDataEvt.ts b/backend/src/plugins/Persist/events/LoadDataEvt.ts index 4d2becb4..699fb703 100644 --- a/backend/src/plugins/Persist/events/LoadDataEvt.ts +++ b/backend/src/plugins/Persist/events/LoadDataEvt.ts @@ -43,10 +43,12 @@ export const LoadDataEvt = persistEvt({ return; } + const guildRoles = Array.from(pluginData.guild.roles.cache.keys()); + // Check specific role permissions if (config.persisted_roles) { for (const roleId of config.persisted_roles) { - if (!canAssignRole(pluginData.guild, me, roleId)) { + if (!canAssignRole(pluginData.guild, me, roleId) && guildRoles.includes(roleId)) { pluginData.getPlugin(LogsPlugin).logBotAlert({ body: `Missing permissions to assign role \`${roleId}\` in persist plugin`, }); @@ -57,7 +59,7 @@ export const LoadDataEvt = persistEvt({ const persistedRoles = config.persisted_roles; if (persistedRoles.length) { - const rolesToRestore = intersection(persistedRoles, persistedData.roles); + const rolesToRestore = intersection(persistedRoles, persistedData.roles, guildRoles); if (rolesToRestore.length) { restoredData.push("roles");