UNPKG

koishi-plugin-bilibili-notify

Version:
113 lines (112 loc) 3.85 kB
import { Bot, Context, FlatPick, Logger, Schema, Session } from "koishi"; import { Notifier } from "@koishijs/plugin-notifier"; import { LoginBili } from "./database"; type ChannelIdArr = Array<{ channelId: string; dynamic: boolean; live: boolean; atAll: boolean; }>; type TargetItem = { channelIdArr: ChannelIdArr; platform: string; }; type Target = Array<TargetItem>; type SubItem = { id: number; uid: string; roomId: string; target: Target; platform: string; live: boolean; dynamic: boolean; liveDispose: Function; }; type SubManager = Array<SubItem>; declare class ComRegister { static inject: string[]; qqRelatedBotList: Array<string>; logger: Logger; config: ComRegister.Config; loginTimer: Function; num: number; rebootCount: number; subNotifier: Notifier; subManager: SubManager; loginDBData: FlatPick<LoginBili, "dynamic_group_id">; privateBot: Bot<Context>; dynamicDispose: Function; sendMsgFunc: (bot: Bot<Context, any>, channelId: string, content: any) => Promise<void>; constructor(ctx: Context, config: ComRegister.Config); init(ctx: Context, config: ComRegister.Config): Promise<void>; splitMultiPlatformStr(str: string): Target; getBot(ctx: Context, pf: string): Bot<Context, any>; sendPrivateMsg(content: string): Promise<void>; sendPrivateMsgAndRebootService(ctx: Context): Promise<void>; sendPrivateMsgAndStopService(ctx: Context): Promise<void>; sendMsg(ctx: Context, targets: Target, content: any, live?: boolean): Promise<void>; dynamicDetect(ctx: Context): () => Promise<void>; debug_dynamicDetect(ctx: Context): () => Promise<void>; liveDetect(ctx: Context, roomId: string, target: Target): () => Promise<void>; subShow(): string; checkIfNeedSub(liveSub: boolean, dynamicSub: boolean, session: Session, liveRoomData: any): Promise<Array<boolean>>; updateSubNotifier(ctx: Context): void; checkIfLoginInfoIsLoaded(ctx: Context): Promise<unknown>; subUserInBili(ctx: Context, mid: string): Promise<{ flag: boolean; msg: string; }>; loadSubFromConfig(ctx: Context, subs: ComRegister.Config["sub"]): Promise<void>; loadSubFromDatabase(ctx: Context): Promise<void>; checkIfDynamicDetectIsNeeded(ctx: Context): void; enableDynamicDetect(ctx: Context): void; unsubSingle(ctx: Context, id: string, type: number): string; checkIfUserIsTheLastOneWhoSubDyn(): void; unsubAll(ctx: Context, uid: string): void; checkIfIsLogin(ctx: Context): Promise<boolean>; } declare namespace ComRegister { interface Config { sub: Array<{ uid: string; dynamic: boolean; live: boolean; target: Array<{ channelIdArr: Array<{ channelId: string; dynamic: boolean; live: boolean; atAll: boolean; }>; platform: string; }>; }>; master: { enable: boolean; platform: string; masterAccount: string; masterAccountGuildId: string; }; unlockSubLimits: boolean; automaticResend: boolean; changeMasterInfoApi: boolean; restartPush: boolean; pushTime: number; liveLoopTime: number; customLiveStart: string; customLive: string; customLiveEnd: string; dynamicUrl: boolean; dynamicLoopTime: number; dynamicCheckNumber: number; filter: { enable: boolean; notify: boolean; regex: string; keywords: Array<string>; }; dynamicDebugMode: boolean; } const Config: Schema<Config>; } export default ComRegister;