UNPKG

koishi-plugin-toram

Version:
37 lines (36 loc) 1.09 kB
import { Context } from "koishi"; export interface BotTodoItem { id: string; ts: number; type: string; payload?: any; } /** * BotTodoMgr * - 记录“在指定时间戳要执行的任务” * - 参考其他 Mgr 的使用方式:单例、set/load/save、增删查 */ export declare class BotTodoMgr { private static instance; static Inst(): BotTodoMgr; private ctx; private _todos; private _handlers; private _timer; private _nextTs; private _started; setTodos(ctx: Context): Promise<void>; private saveTodos; addTodo(ts: number, type: string, payload?: any): Promise<string>; getTodosAt(ts: number): BotTodoItem[]; removeTodo(ts: number, id: string): Promise<void>; removeTodosAt(ts: number): Promise<void>; popDueTodos(now: number): Promise<BotTodoItem[]>; getNextTimestamp(): number | undefined; on(type: string, handler: (item: BotTodoItem) => any | Promise<any>): void; start(): void; stop(): void; scheduleNext(): Promise<void>; private internalPlanNext; private executeBatch; }