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) {
|
beforeUnload(pluginData) {
|
||||||
for (const interval of pluginData.state.decayTimers) {
|
if (pluginData.state.decayTimers) {
|
||||||
clearInterval(interval);
|
for (const interval of pluginData.state.decayTimers) {
|
||||||
|
clearInterval(interval);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pluginData.state.events.removeAllListeners();
|
pluginData.state.events.removeAllListeners();
|
||||||
|
|
|
@ -307,13 +307,23 @@ export const LogsPlugin = zeppelinGuildPlugin<LogsPluginType>()({
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeUnload(pluginData) {
|
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);
|
if (pluginData.state.onMessageDeleteFn) {
|
||||||
pluginData.state.savedMessages.events.off("deleteBulk", pluginData.state.onMessageDeleteBulkFn);
|
pluginData.state.savedMessages.events.off("delete", pluginData.state.onMessageDeleteFn);
|
||||||
pluginData.state.savedMessages.events.off("update", pluginData.state.onMessageUpdateFn);
|
}
|
||||||
|
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}`);
|
discardRegExpRunner(`guild-${pluginData.guild.id}`);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -216,7 +216,7 @@ export const ModActionsPlugin = zeppelinGuildPlugin<ModActionsPluginType>()({
|
||||||
|
|
||||||
beforeUnload(pluginData) {
|
beforeUnload(pluginData) {
|
||||||
pluginData.state.unloaded = true;
|
pluginData.state.unloaded = true;
|
||||||
pluginData.state.unregisterGuildEventListener();
|
pluginData.state.unregisterGuildEventListener?.();
|
||||||
pluginData.state.events.removeAllListeners();
|
pluginData.state.events.removeAllListeners();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -120,7 +120,7 @@ export const MutesPlugin = zeppelinGuildPlugin<MutesPluginType>()({
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeUnload(pluginData) {
|
beforeUnload(pluginData) {
|
||||||
pluginData.state.unregisterGuildEventListener();
|
pluginData.state.unregisterGuildEventListener?.();
|
||||||
pluginData.state.events.removeAllListeners();
|
pluginData.state.events.removeAllListeners();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -67,6 +67,6 @@ export const PostPlugin = zeppelinGuildPlugin<PostPluginType>()({
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeUnload(pluginData) {
|
beforeUnload(pluginData) {
|
||||||
pluginData.state.unregisterGuildEventListener();
|
pluginData.state.unregisterGuildEventListener?.();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue