diff --git a/backend/src/plugins/Counters/CountersPlugin.ts b/backend/src/plugins/Counters/CountersPlugin.ts index 07738195..6d4bf708 100644 --- a/backend/src/plugins/Counters/CountersPlugin.ts +++ b/backend/src/plugins/Counters/CountersPlugin.ts @@ -212,8 +212,10 @@ export const CountersPlugin = zeppelinGuildPlugin()({ }, beforeUnload(pluginData) { - for (const interval of pluginData.state.decayTimers) { - clearInterval(interval); + if (pluginData.state.decayTimers) { + for (const interval of pluginData.state.decayTimers) { + clearInterval(interval); + } } pluginData.state.events.removeAllListeners(); diff --git a/backend/src/plugins/Logs/LogsPlugin.ts b/backend/src/plugins/Logs/LogsPlugin.ts index 4e79f583..053afffb 100644 --- a/backend/src/plugins/Logs/LogsPlugin.ts +++ b/backend/src/plugins/Logs/LogsPlugin.ts @@ -307,13 +307,23 @@ export const LogsPlugin = zeppelinGuildPlugin()({ }, beforeUnload(pluginData) { - pluginData.state.guildLogs.removeListener("log", pluginData.state.logListener); + if (pluginData.state.logListener) { + pluginData.state.guildLogs.removeListener("log", pluginData.state.logListener); + } - pluginData.state.savedMessages.events.off("delete", pluginData.state.onMessageDeleteFn); - pluginData.state.savedMessages.events.off("deleteBulk", pluginData.state.onMessageDeleteBulkFn); - pluginData.state.savedMessages.events.off("update", pluginData.state.onMessageUpdateFn); + if (pluginData.state.onMessageDeleteFn) { + pluginData.state.savedMessages.events.off("delete", pluginData.state.onMessageDeleteFn); + } + if (pluginData.state.onMessageDeleteBulkFn) { + pluginData.state.savedMessages.events.off("deleteBulk", pluginData.state.onMessageDeleteBulkFn); + } + if (pluginData.state.onMessageUpdateFn) { + pluginData.state.savedMessages.events.off("update", pluginData.state.onMessageUpdateFn); + } - pluginData.state.regexRunner.off("repeatedTimeout", pluginData.state.regexRunnerRepeatedTimeoutListener); + if (pluginData.state.regexRunnerRepeatedTimeoutListener) { + pluginData.state.regexRunner.off("repeatedTimeout", pluginData.state.regexRunnerRepeatedTimeoutListener); + } discardRegExpRunner(`guild-${pluginData.guild.id}`); }, }); diff --git a/backend/src/plugins/ModActions/ModActionsPlugin.ts b/backend/src/plugins/ModActions/ModActionsPlugin.ts index 60dc3bf7..ba19a0b0 100644 --- a/backend/src/plugins/ModActions/ModActionsPlugin.ts +++ b/backend/src/plugins/ModActions/ModActionsPlugin.ts @@ -216,7 +216,7 @@ export const ModActionsPlugin = zeppelinGuildPlugin()({ beforeUnload(pluginData) { pluginData.state.unloaded = true; - pluginData.state.unregisterGuildEventListener(); + pluginData.state.unregisterGuildEventListener?.(); pluginData.state.events.removeAllListeners(); }, }); diff --git a/backend/src/plugins/Mutes/MutesPlugin.ts b/backend/src/plugins/Mutes/MutesPlugin.ts index dcd3983e..eba6b40f 100644 --- a/backend/src/plugins/Mutes/MutesPlugin.ts +++ b/backend/src/plugins/Mutes/MutesPlugin.ts @@ -120,7 +120,7 @@ export const MutesPlugin = zeppelinGuildPlugin()({ }, beforeUnload(pluginData) { - pluginData.state.unregisterGuildEventListener(); + pluginData.state.unregisterGuildEventListener?.(); pluginData.state.events.removeAllListeners(); }, }); diff --git a/backend/src/plugins/Post/PostPlugin.ts b/backend/src/plugins/Post/PostPlugin.ts index 5c44ce27..cc32bbbf 100644 --- a/backend/src/plugins/Post/PostPlugin.ts +++ b/backend/src/plugins/Post/PostPlugin.ts @@ -67,6 +67,6 @@ export const PostPlugin = zeppelinGuildPlugin()({ }, beforeUnload(pluginData) { - pluginData.state.unregisterGuildEventListener(); + pluginData.state.unregisterGuildEventListener?.(); }, });