mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-03-15 05:41:51 +00:00
Tweaks to member role restoration on unmute
This commit is contained in:
parent
be0f9182a0
commit
2451719155
2 changed files with 11 additions and 10 deletions
|
@ -18,17 +18,17 @@ export async function clearExpiredMutes(pluginData: GuildPluginData<MutesPluginT
|
|||
|
||||
const muteRole = pluginData.config.get().mute_role;
|
||||
if (muteRole) {
|
||||
await member.roles.remove(muteRole as Snowflake);
|
||||
await member.roles.remove(muteRole);
|
||||
}
|
||||
if (mute.roles_to_restore) {
|
||||
const guildRoles = pluginData.guild.roles.cache;
|
||||
let newRoles = [...member.roles.cache.keys()];
|
||||
newRoles =
|
||||
muteRole && newRoles.includes(muteRole) ? newRoles.splice(newRoles.indexOf(muteRole), 1) : newRoles;
|
||||
const newRoles = [...member.roles.cache.keys()].filter(roleId => roleId !== muteRole);
|
||||
for (const toRestore of mute.roles_to_restore) {
|
||||
if (guildRoles.has(toRestore as Snowflake) && toRestore !== muteRole) newRoles.push(toRestore);
|
||||
if (guildRoles.has(toRestore) && toRestore !== muteRole && !newRoles.includes(toRestore)) {
|
||||
newRoles.push(toRestore);
|
||||
}
|
||||
}
|
||||
await member.roles.set(newRoles as Snowflake[]);
|
||||
await member.roles.set(newRoles);
|
||||
}
|
||||
|
||||
lock.unlock();
|
||||
|
|
|
@ -43,12 +43,13 @@ export async function unmuteUser(
|
|||
}
|
||||
if (existingMute?.roles_to_restore) {
|
||||
const guildRoles = pluginData.guild.roles.cache;
|
||||
let newRoles = [...member.roles.cache.keys()];
|
||||
newRoles = muteRole && newRoles.includes(muteRole) ? newRoles.splice(newRoles.indexOf(muteRole), 1) : newRoles;
|
||||
const newRoles = [...member.roles.cache.keys()].filter(roleId => roleId !== muteRole);
|
||||
for (const toRestore of existingMute.roles_to_restore) {
|
||||
if (guildRoles.has(toRestore as Snowflake) && toRestore !== muteRole) newRoles.push(toRestore);
|
||||
if (guildRoles.has(toRestore) && toRestore !== muteRole && !newRoles.includes(toRestore)) {
|
||||
newRoles.push(toRestore);
|
||||
}
|
||||
}
|
||||
await member.roles.set(newRoles as Snowflake[]);
|
||||
await member.roles.set(newRoles);
|
||||
}
|
||||
|
||||
lock.unlock();
|
||||
|
|
Loading…
Add table
Reference in a new issue