diff --git a/README.md b/README.md index 1ee1793..d162d2b 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ - `/serverchat reload` 重载配置文件 - `/serverchat group ` 设置互联群号 - `/serverchat op|deop ` 设置或解除管理员 - - 被设置为管理的账号可以在指定群内直接用管理前缀执行命令 + - 设置为管理的账号可以在指定群内直接用管理前缀执行命令 - 命令前缀可在配置文件中设置 `adminPrefix` ,默认为 `/`,例 `/sc ban @10002` - 目前在群内执行命令暂时没有回复,因为控制台执行过程只会log到控制台,不好捕获 @@ -81,6 +81,77 @@ _TODO: 计划会出一个极简的纯对话协议,比OneBot更简单,方便 --- +## OpenChat 对接指南 + +### 连接 | Bot -> OpenChat +1. 创建 WebSocket Client +2. 添加请求头 `Authorization: Bearer **token**` 用于认证连接 +3. 添加请求头 `X-Self-ID: 123456` 用来标识连接的bot账号 (可选) +4. 连接到 `/openchat`,例如 `ws://127.0.0.1:443/openchat` + +### 通讯报文 +以下仅列出插件需要的字段 +#### 群消息 | Bot -> OpenChat +```json +{ + "post_type": "message", + "message_type": "group", + "sub_type": "normal", + "group_id": 123456, + "raw_message": "Plain Message", + "sender": { + "role": "member", + "level": "71", + "user_id": 123456789, + "nickname": "NickName", + "title": "UserTitle", + "card": "UserCard" + } +} +``` + +#### 群消息 | OpenChat -> Bot +```json +{ + "action": "send_group_msg", + "params": { + "group_id": 123456, + "message": "Plain Message", + "auto_escape": true + } +} +``` + +#### 频道消息 | Bot -> OpenChat +```json +{ + "post_type": "message", + "message_type": "group", + "sub_type": "normal", + "guildId": "123456", + "channel_id": "1234", + "user_id": "123456789", + "message": "Plain Message", + "sender": { + "user_id": 123456789, + "nickname": "NickName" + } +} +``` + +#### 频道消息 | OpenChat -> Bot +```json +{ + "action": "send_guild_channel_msg", + "params": { + "guild_id": "123456", + "channel_id": "1234", + "message": "Plain Message", + "auto_escape": true + } +} +``` + ## 插件配置 ```json5 { @@ -177,7 +248,7 @@ _TODO: 计划会出一个极简的纯对话协议,比OneBot更简单,方便 "loginMessageFormat": "{nickName}({uid}) 加入了服务器", // 是否启用登录消息 - // 当玩家登录服务器时,发送消息通知到群里 + // 当玩家登录服务器时,发送消息通知到游戏里 "sendLoginMessageToGame": true, // 玩家登录服务器消息格式 @@ -205,7 +276,7 @@ _TODO: 计划会出一个极简的纯对话协议,比OneBot更简单,方便 } ``` -# 敏感词过滤系统 +## 敏感词过滤系统 目前实现了一个最基础的敏感词过滤功能, 并附带了一个精简的敏感词库, 在首次启动时会把词库释放到插件数据目录下。