heybox-bot
Version:
A heybox chat bot frame
41 lines • 3.58 kB
TypeScript
import { HeyBoxBot } from '../../index';
import { UserBaseInfo, SimpleUserInfo } from '../../type/info';
import { CardMessageBtnClickWSMsgData, CommandWSMsgData, UserAddOrRemoveEmojiToMsgWSMsgData, UserJoinOrLeaveRoomWSMsgData } from '../../type/websocket';
import { Cancelable } from 'gugle-event';
import { RawData } from 'ws';
/**
* 定义机器人运行时事件类型的元组
* 用于标识机器人在不同运行阶段所触发的事件
*/
export declare type BotRuntimeEvent = 'before-start' | 'after-start' | 'before-stop' | 'after-stop';
/**
* 定义HeyBox事件类型的元组
* 用于标识HeyBox特定事件,如命令消息、用户表情反应等
*/
export declare type HeyBoxEvent = 'command-message' | 'user-add-or-remove-emoji-to-msg' | 'user-join-or-leave-room' | 'card-message-btn-click';
/**
* 定义机器人的事件类型
* 包括运行时事件、WebSocket消息事件、HeyBox事件和其他自定义事件
*/
export declare type BotEvent = BotRuntimeEvent | 'websocket-message' | HeyBoxEvent | string;
/**
* 定义事件是否可取消的类型
* 用于指示事件处理函数是否支持取消事件的默认行为
*/
export declare type BotEventCancelable = boolean;
/**
* 定义机器人运行时事件的回调函数类型
* 根据事件类型和是否可取消,决定回调函数的参数和返回类型
*/
export declare type BotRuntimeEventCallback<T extends BotRuntimeEvent, C extends BotEventCancelable> = T extends 'before-start' ? C extends true ? (cancelable: Cancelable, bot: HeyBoxBot, path: string) => void : (bot: HeyBoxBot, path: string) => void : C extends true ? (cancelable: Cancelable, bot: HeyBoxBot) => void : (bot: HeyBoxBot) => void;
/**
* 定义HeyBox事件的回调函数类型
* 根据事件类型和是否可取消,决定回调函数的参数和返回类型
*/
export declare type HeyBoxEventCallback<T extends HeyBoxEvent, C extends BotEventCancelable> = T extends 'command-message' ? C extends true ? (cancelable: Cancelable, bot: HeyBoxBot, user: UserBaseInfo, commandMsg: CommandWSMsgData) => void : (bot: HeyBoxBot, user: UserBaseInfo, commandMsg: CommandWSMsgData) => void : T extends 'user-add-or-remove-emoji-to-msg' ? C extends true ? (cancelable: Cancelable, bot: HeyBoxBot, msg: UserAddOrRemoveEmojiToMsgWSMsgData) => void : (bot: HeyBoxBot, msg: UserAddOrRemoveEmojiToMsgWSMsgData) => void : T extends 'user-join-or-leave-room' ? C extends true ? (cancelable: Cancelable, bot: HeyBoxBot, user: UserBaseInfo, msg: UserJoinOrLeaveRoomWSMsgData) => void : (bot: HeyBoxBot, user: SimpleUserInfo, msg: UserJoinOrLeaveRoomWSMsgData) => void : T extends 'card-message-btn-click' ? C extends true ? (cancelable: Cancelable, bot: HeyBoxBot, user: UserBaseInfo, msg: CardMessageBtnClickWSMsgData) => void : (bot: HeyBoxBot, user: UserBaseInfo, msg: CardMessageBtnClickWSMsgData) => void : C extends true ? (cancelable: Cancelable, ...args: any) => void : (...args: any) => void;
/**
* 定义通用事件回调函数类型
* 根据事件类型和是否可取消,决定回调函数的参数和返回类型
*/
export declare type EventCallback<T extends BotEvent, C extends BotEventCancelable> = T extends BotRuntimeEvent ? BotRuntimeEventCallback<T, C> : T extends 'websocket-message' ? C extends true ? (cancelable: Cancelable, bot: HeyBoxBot, data: RawData) => void : (bot: HeyBoxBot, data: RawData) => void : T extends HeyBoxEvent ? HeyBoxEventCallback<T, C> : C extends true ? (cancelable: Cancelable, ...args: any) => void : (...args: any) => void;
//# sourceMappingURL=index.d.ts.map