From 825d920a664dac9f5ef1c2fd6a1e22b8b9e5792d Mon Sep 17 00:00:00 2001 From: hfgd Date: Mon, 9 May 2022 19:22:51 +0200 Subject: [PATCH 1/4] New config option: Remove all other roles, as requested by Emergency#0001 via Membership-priority request --- modules/status-roles/configs/config.json | 11 +++++++++++ modules/status-roles/events/presenceUpdate.js | 3 +++ 2 files changed, 14 insertions(+) diff --git a/modules/status-roles/configs/config.json b/modules/status-roles/configs/config.json index 1aa0b9d9..e32fc39b 100644 --- a/modules/status-roles/configs/config.json +++ b/modules/status-roles/configs/config.json @@ -28,6 +28,17 @@ "description-de": "Rollen, die an Nutzer mit einem der Wörter im Status vergeben werden sollen", "params-de": {}, "default-de": [] + }, + { + "field_name": "remove", + "humanname-en": "Remove all other roles", + "humanname-de": "Entferne alle anderen Rolen", + "default": false, + "type": "boolean", + "description-en": "Remove all other roles from users with one of the words in their status", + "description-de": "Entferne alle anderen Rollen von Nutzern mit einem der Wörter im Status", + "params-de": {}, + "default-de": [] } ] } diff --git a/modules/status-roles/events/presenceUpdate.js b/modules/status-roles/events/presenceUpdate.js index 36b3101d..30a87691 100644 --- a/modules/status-roles/events/presenceUpdate.js +++ b/modules/status-roles/events/presenceUpdate.js @@ -12,6 +12,9 @@ module.exports.run = async function (client, oldPresence, newPresence) { if (newPresence.activities.length > 0) { if (newPresence.activities[0].state) { if (status.some(word => newPresence.activities[0].state.toLowerCase().includes(word.toLowerCase()))) { + if (moduleConfig.remove === true) { + await member.roles.remove(member.roles.cache.filter(role => !role.managed)); + } return member.roles.add(roles, localize('status-role', 'fulfilled')); } else { removeRoles(); From efac175ac88dfecdee862ca4f3495338eeaa4451 Mon Sep 17 00:00:00 2001 From: hfgd <46094961+hfgd123@users.noreply.github.com> Date: Mon, 9 May 2022 22:04:38 +0200 Subject: [PATCH 2/4] Update modules/status-roles/events/presenceUpdate.js Co-authored-by: Simon --- modules/status-roles/events/presenceUpdate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/status-roles/events/presenceUpdate.js b/modules/status-roles/events/presenceUpdate.js index 30a87691..340b79e4 100644 --- a/modules/status-roles/events/presenceUpdate.js +++ b/modules/status-roles/events/presenceUpdate.js @@ -12,7 +12,7 @@ module.exports.run = async function (client, oldPresence, newPresence) { if (newPresence.activities.length > 0) { if (newPresence.activities[0].state) { if (status.some(word => newPresence.activities[0].state.toLowerCase().includes(word.toLowerCase()))) { - if (moduleConfig.remove === true) { + if (moduleConfig.remove) { await member.roles.remove(member.roles.cache.filter(role => !role.managed)); } return member.roles.add(roles, localize('status-role', 'fulfilled')); From b6aed34550d10672387f80b9587f9cd7db6d2981 Mon Sep 17 00:00:00 2001 From: hfgd <46094961+hfgd123@users.noreply.github.com> Date: Mon, 9 May 2022 22:04:56 +0200 Subject: [PATCH 3/4] Update modules/status-roles/configs/config.json Co-authored-by: Simon --- modules/status-roles/configs/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/status-roles/configs/config.json b/modules/status-roles/configs/config.json index e32fc39b..8af947e2 100644 --- a/modules/status-roles/configs/config.json +++ b/modules/status-roles/configs/config.json @@ -32,7 +32,7 @@ { "field_name": "remove", "humanname-en": "Remove all other roles", - "humanname-de": "Entferne alle anderen Rolen", + "humanname-de": "Entferne alle anderen Rollen", "default": false, "type": "boolean", "description-en": "Remove all other roles from users with one of the words in their status", From c275011f96ebf4de19cfc684d19605be7c6f0a42 Mon Sep 17 00:00:00 2001 From: hfgd Date: Mon, 9 May 2022 22:07:20 +0200 Subject: [PATCH 4/4] Made changes as requested by SCDerox --- modules/status-roles/events/presenceUpdate.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/status-roles/events/presenceUpdate.js b/modules/status-roles/events/presenceUpdate.js index 340b79e4..7022f84d 100644 --- a/modules/status-roles/events/presenceUpdate.js +++ b/modules/status-roles/events/presenceUpdate.js @@ -12,9 +12,7 @@ module.exports.run = async function (client, oldPresence, newPresence) { if (newPresence.activities.length > 0) { if (newPresence.activities[0].state) { if (status.some(word => newPresence.activities[0].state.toLowerCase().includes(word.toLowerCase()))) { - if (moduleConfig.remove) { - await member.roles.remove(member.roles.cache.filter(role => !role.managed)); - } + if (moduleConfig.remove) await member.roles.remove(member.roles.cache.filter(role => !role.managed)); return member.roles.add(roles, localize('status-role', 'fulfilled')); } else { removeRoles();