From 599c36564008b8de95e94d4da73d5478056ff674 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sun, 13 Sep 2020 22:21:25 +0300 Subject: [PATCH] Error handling improvements for reaction roles --- .../util/applyReactionRoleReactionsToMessage.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts b/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts index 1391a1c7..4e2f8c48 100644 --- a/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts +++ b/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts @@ -66,8 +66,11 @@ export async function applyReactionRoleReactionsToMessage( await sleep(1500); // Add reaction role reactions - for (const rr of reactionRoles) { - const emoji = isSnowflake(rr.emoji) ? `foo:${rr.emoji}` : rr.emoji; + const emojisToAdd = reactionRoles.map(rr => rr.emoji); + emojisToAdd.push(CLEAR_ROLES_EMOJI); + + for (const rawEmoji of emojisToAdd) { + const emoji = isSnowflake(rawEmoji) ? `foo:${rawEmoji}` : rawEmoji; try { await targetMessage.addReaction(emoji); @@ -75,7 +78,7 @@ export async function applyReactionRoleReactionsToMessage( } catch (e) { if (isDiscordRESTError(e)) { if (e.code === 10014) { - pluginData.state.reactionRoles.removeFromMessage(messageId, rr.emoji); + pluginData.state.reactionRoles.removeFromMessage(messageId, rawEmoji); errors.push(`Unknown emoji: ${emoji}`); logs.log(LogType.BOT_ALERT, { body: `Could not add unknown reaction role emoji ${emoji} to message ${channelId}/${messageId}`, @@ -94,8 +97,5 @@ export async function applyReactionRoleReactionsToMessage( } } - // Add the "clear reactions" button - await targetMessage.addReaction(CLEAR_ROLES_EMOJI); - return errors; }