koishi-plugin-greeting
Version:
Koishi plugin for automatically greeting at specific time.
53 lines (52 loc) • 1.87 kB
TypeScript
import { GreetingPluginConfig, Instance } from './config';
import { LifecycleEvents } from 'koishi-thirdeye';
import { Bot } from 'koishi';
export * from './config';
declare const GreetingPlugin_base: new (ctx: import("koishi").Context, config: {
instances?: {
from?: string;
getBot?: (list: Bot<Bot.Config>[]) => Bot<Bot.Config>;
to?: {
userId?: string;
channelId?: string;
guildId?: string;
getDescription?: () => string;
salt?: string;
send?: (bot: Bot<Bot.Config>, text: string) => Promise<string[]>;
}[];
rules?: {
fromTime?: string;
toTime?: string;
getTimeRange?: () => readonly [import("moment").Moment, import("moment").Moment];
shouldSend?: (target: import("./config").Target) => boolean;
salt?: string;
patterns?: {
words?: {
word?: string;
weight?: number;
formWord?: () => any;
patterns?: any[];
toEntry?: () => any;
}[];
pickWord?: () => any;
}[];
generateText?: () => string;
}[];
run?: (list: Bot<Bot.Config>[]) => Promise<Instance>;
}[];
runInstances?: (list: Bot<Bot.Config>[], instances?: Instance[]) => Promise<Instance[]>;
}) => {
ctx: import("koishi").Context;
config: GreetingPluginConfig;
};
export default class GreetingPlugin extends GreetingPlugin_base implements LifecycleEvents {
private bots;
private job;
private pendingInstances;
private addPending;
onBotStatusUpdated(bot: Bot): Promise<void>;
private resolvePending;
run(instances?: Instance[]): Promise<void>;
onConnect(): void;
onDisconnect(): void;
}