fix: fix errors when unloading certain plugins after beforeLoad but before afterLoad

This commit is contained in:
Dragory 2021-10-31 16:48:32 +02:00
parent 4f811f04e1
commit f92ee9ba4f
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
5 changed files with 22 additions and 10 deletions

View file

@ -212,8 +212,10 @@ export const CountersPlugin = zeppelinGuildPlugin<CountersPluginType>()({
},
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();

View file

@ -307,13 +307,23 @@ export const LogsPlugin = zeppelinGuildPlugin<LogsPluginType>()({
},
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}`);
},
});

View file

@ -216,7 +216,7 @@ export const ModActionsPlugin = zeppelinGuildPlugin<ModActionsPluginType>()({
beforeUnload(pluginData) {
pluginData.state.unloaded = true;
pluginData.state.unregisterGuildEventListener();
pluginData.state.unregisterGuildEventListener?.();
pluginData.state.events.removeAllListeners();
},
});

View file

@ -120,7 +120,7 @@ export const MutesPlugin = zeppelinGuildPlugin<MutesPluginType>()({
},
beforeUnload(pluginData) {
pluginData.state.unregisterGuildEventListener();
pluginData.state.unregisterGuildEventListener?.();
pluginData.state.events.removeAllListeners();
},
});

View file

@ -67,6 +67,6 @@ export const PostPlugin = zeppelinGuildPlugin<PostPluginType>()({
},
beforeUnload(pluginData) {
pluginData.state.unregisterGuildEventListener();
pluginData.state.unregisterGuildEventListener?.();
},
});