koishi-plugin-greeting
Version:
Koishi plugin for automatically greeting at specific time.
54 lines (53 loc) • 1.48 kB
TypeScript
import { Bot } from 'koishi';
import moment from 'moment';
interface Salt {
salt?: string;
}
export declare class Word {
constructor(config: Partial<Word>);
word?: string;
weight?: number;
formWord(): any;
patterns?: Pattern[];
toEntry(): any;
}
export declare class Pattern {
constructor(config: Partial<Pattern>);
words: Word[];
pickWord(): any;
}
export declare class Rule implements Salt {
constructor(config: Partial<Rule>);
fromTime?: string;
toTime?: string;
getTimeRange(): readonly [moment.Moment, moment.Moment];
shouldSend(target: Target): boolean;
salt?: string;
patterns: Pattern[];
generateText(): string;
}
export declare class Target implements Salt {
constructor(config: Partial<Target>);
userId?: string;
channelId?: string;
guildId?: string;
getDescription(): string;
get salt(): string;
set salt(s: string);
send(bot: Bot, text: string): Promise<string[]>;
}
export declare class Instance {
constructor(config: Partial<Instance>);
from: string;
getBot(list: Bot[]): Bot<Bot.Config>;
to: Target[];
rules: Rule[];
run(list: Bot[]): Promise<this>;
}
export declare class GreetingPluginConfig {
constructor(config: GreetingPluginConfigLike);
instances: Instance[];
runInstances(list: Bot[], instances?: Instance[]): Promise<Instance[]>;
}
export type GreetingPluginConfigLike = Partial<GreetingPluginConfig>;
export {};