UNPKG

heybox-bot

Version:

A heybox chat bot frame

138 lines 4.38 kB
import { CommandSource } from '../../command'; import { ChannelBaseInfo, CommandInfo, RoomBaseInfo, UserBaseInfo, SimpleUserInfo, CommandUserInfo } from '../../type/info'; import { Message, UserMessage, UserMessageBuilder, MessageBuilder } from '../../type/message'; export declare type WSMsgData = { msg_id: string; send_time: number; }; export declare type CommandWSMsgData = WSMsgData & { bot_id: number; channel_base_info: ChannelBaseInfo; command_info: CommandInfo; room_base_info: RoomBaseInfo; sender_info: CommandUserInfo; }; export declare type UserJoinOrLeaveRoomWSMsgData = { room_base_info: RoomBaseInfo; user_info: SimpleUserInfo; state: 1 | 0; }; export declare type UserAddOrRemoveEmojiToMsgWSMsgData = { room_id: string; channel_id: string; emoji: string; is_add: 1 | 0; msg_id: string; user_id: string; }; export declare type CardMessageBtnClickWSMsgData = { room_base_info: RoomBaseInfo; channel_base_info: ChannelBaseInfo; sender_info: UserBaseInfo; event: string; msg_id: string; text: string; value: string; }; export declare type WebSocketWSMsg = { sequence: number; type: string; notify_type: string; data: any; timestamp: number; }; export declare type CommandWSMsg = WebSocketWSMsg & { data: CommandWSMsgData; }; export declare type UserJoinOrLeaveRoomWSMsg = WebSocketWSMsg & { data: UserJoinOrLeaveRoomWSMsgData; }; export declare type UserAddOrRemoveEmojiToMsgWSMsg = WebSocketWSMsg & { data: UserAddOrRemoveEmojiToMsgWSMsgData; }; export declare type CardMessageBtnClickWSMsg = WebSocketWSMsg & { data: CardMessageBtnClickWSMsgData; }; /** * 实现WebSocket消息的类,同时也实现了命令源的接口 * 该类用于处理和封装WebSocket消息,提供消息回复、用户回复等功能 */ export declare class WSMsgImpl implements WSMsgData, CommandSource { readonly channel_id: string; readonly channel_name: string; readonly channel_type: number; readonly msg_id: string; readonly room_id: string; readonly room_nickname: string; readonly send_time: number; readonly user_info: SimpleUserInfo; private readonly sender; private readonly userSender; /** * 构造函数 * @param sender 消息发送函数 * @param userSender 用户消息发送函数 * @param data WebSocket消息数据 * @param additional 额外的信息,包括频道、房间、用户信息等 */ constructor(sender: (msg: Message) => void, userSender: (msg: UserMessage) => void, data: WSMsgData, additional: { channel_id: string; channel_name: string; channel_type: number; room_id: string; room_nickname: string; user_info: SimpleUserInfo; }); /** * 获取用户昵称 * @returns 用户昵称 */ getName(): string; /** * 检查权限,目前未实现 * @param permission 权限字符串 * @returns 总是返回true */ hasPermission(permission: string): boolean; /** * 发送失败消息 * @param msg 消息内容或Message对象 */ fail(msg: Message | string): void; /** * 发送成功消息 * @param msg 消息内容或Message对象 */ success(msg: Message | string): void; /** * 通过回调函数发送失败消息 * @param callback 回调函数,用于构建消息 */ failBy(callback: (builder: MessageBuilder) => void): void; /** * 通过回调函数发送成功消息 * @param callback 回调函数,用于构建消息 */ successBy(callback: (builder: MessageBuilder) => void): void; /** * 回复消息 * @param msg 消息内容或Message对象 */ reply(msg: Message | string): void; /** * 通过回调函数回复消息 * @param callback 回调函数,用于构建消息 */ replyBy(callback: (builder: MessageBuilder) => void): void; /** * 回复用户消息 * @param msg 消息内容或UserMessage对象 */ replyUser(msg: UserMessage | string): void; /** * 通过回调函数回复用户消息 * @param callback 回调函数,用于构建消息 */ replyUserBy(callback: (builder: UserMessageBuilder) => void): void; } //# sourceMappingURL=index.d.ts.map