3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 04:25:01 +00:00
zeppelin/backend/src/plugins/AutoDelete/util/scheduleNextDeletion.ts

14 lines
598 B
TypeScript

import { GuildPluginData } from "knub";
import { AutoDeletePluginType } from "../types";
import { deleteNextItem } from "./deleteNextItem";
export function scheduleNextDeletion(pluginData: GuildPluginData<AutoDeletePluginType>) {
if (pluginData.state.deletionQueue.length === 0) {
clearTimeout(pluginData.state.nextDeletionTimeout!);
return;
}
const firstDeleteAt = pluginData.state.deletionQueue[0].deleteAt;
clearTimeout(pluginData.state.nextDeletionTimeout!);
pluginData.state.nextDeletionTimeout = setTimeout(() => deleteNextItem(pluginData), firstDeleteAt - Date.now());
}