fix: fix errors when unloading certain plugins after beforeLoad but before afterLoad
This commit is contained in:
parent
4f811f04e1
commit
f92ee9ba4f
5 changed files with 22 additions and 10 deletions
|
@ -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();
|
||||
|
|
|
@ -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}`);
|
||||
},
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
},
|
||||
});
|
||||
|
|
|
@ -120,7 +120,7 @@ export const MutesPlugin = zeppelinGuildPlugin<MutesPluginType>()({
|
|||
},
|
||||
|
||||
beforeUnload(pluginData) {
|
||||
pluginData.state.unregisterGuildEventListener();
|
||||
pluginData.state.unregisterGuildEventListener?.();
|
||||
pluginData.state.events.removeAllListeners();
|
||||
},
|
||||
});
|
||||
|
|
|
@ -67,6 +67,6 @@ export const PostPlugin = zeppelinGuildPlugin<PostPluginType>()({
|
|||
},
|
||||
|
||||
beforeUnload(pluginData) {
|
||||
pluginData.state.unregisterGuildEventListener();
|
||||
pluginData.state.unregisterGuildEventListener?.();
|
||||
},
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue