heybox-bot
Version:
A heybox chat bot frame
138 lines • 4.38 kB
TypeScript
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