koishi-plugin-adapter-iirose
Version:
[IIROSE-蔷薇花园](https://iirose.com/)适配器
49 lines (45 loc) • 1.04 kB
text/typescript
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],
};
};