UNPKG

koishi-plugin-adapter-iirose

Version:
50 lines (45 loc) 955 B
import { parseAvatar } from "../../utils/utils"; export interface BroadcastMessage { // 用户名 username: string; // 消息内容 message: string; // 颜色 color: string; // 头像 avatar: string; // 时间戳 (实际上是消息序列ID) timestamp: string; // 消息ID messageId: string; } /** * 解析广播消息 * @param msg 消息 * @returns {BroadcastMessage | undefined} */ export const broadcastMessage = (msg: string): BroadcastMessage | undefined => { // 检查消息是否以 "=" 开头 if (!msg.startsWith('=')) { return undefined; } // 使用 ">" 分割消息 const parts = msg.slice(1).split('>'); // 检查字段数量是否足够 if (parts.length < 8) { return undefined; } // 返回解析后的数据 return { username: parts[0], message: parts[1], color: parts[2], avatar: parseAvatar(parts[5]), timestamp: parts[6], messageId: parts[7], }; };