KookIn
使用KookAPI实现的MCDR服务器管理插件
Important
自v1.0.0起,此插件增加依赖: Whitelist API,移除对Kook API的依赖
更新亮点: v1.0.0摒弃了v0.x版本冗长的链路,从与kook网关的交互到对消息事件的处理全都内聚在Kookin插件中
该插件的功能移植自QQ Chat插件
功能介绍
MCDR端
- 发送消息到指定Kook频道组
- 将所有MC的聊天消息同步到指定Kook频道组中
Kook端
- 查看MC服务器中在线玩家列表
- 离线时向服务器中发送消息
- 管理服务器白名单(仅管理员可用)
- 远程执行服务端指令(仅管理员可用)
- 远程执行MCDR指令(仅管理员可用)
TODO
- 支持配置离线/在线服以支持自动加白名单
- 一套基于Kook的审核,加白,绑定流程
- 其他小功能(等脑洞打开ing)
Tips
Q: 如何获取频道ID?
A: 如图,打开网页端Kook,进入指定频道后,这一串数字就是对应的Kook服务器ID(guild_id)和频道ID(channel_id)
例如: https://www.kookapp.cn/app/channels/8474959284287105/3168870203890905
中
- guild_id: 8474959284287105
- channel_id: 3168870203890905
Note
当前的Kookin配置中,只需要用到channel_id
,也就是说,可以跨多个Kook服务器使用同一个Kookin实例
配置项
$MCDR/config/kookin/conf.json
配置项 | 配置说明 | 类型 | 示例 |
---|---|---|---|
token | 机器人Token | string | 从Kook开发者中心的机器人页面获取 |
prefixes | 指令的前缀 | Array[string] | ["/"] |
admin_channel | 服务器管理频道 | Array[channelInfo] | - |
public_channel | 服务器公共频道 | Array[channelInfo] | - |
sync_chat_channel | 服务器消息同步频道 | Array[channelInfo] | - |
channel_name | 频道名称备注 | string | 频道A |
channel_id | 频道ID | string | 获取方式见上 |
admins | 管理员 | Array[string] | ["Aimerny#0476"] |
server_name | Kook展示服务器名 | string | Survival |
- 只有使用
!!kk
指令的消息才会被发送到服务器公共频道中- 在服务器公共频道中的消息只有使用/mc指令的消息才会发送到服务器中
- 所有游戏内消息都会被发送至消息同步频道中,在消息同步频道中发送任何消息也会同步到游戏中,指令除外
指令预览
MCDR端指令
!!kk <msg> #发送消息到对应Kook服务器
Kook端指令
/help => 查询指令
/bind => 成员绑定
/whitelist => 白名单管理
/list => 在线玩家列表
可以使用
/help
查询其他指令的帮助,例如:/help whitelist
离线消息
/mc <msg> => 发送消息到服务器(需要先绑定账号)
执行服务器指令
/execute <command> => 执行服务器指令(管理员可用) # 例如: /execute ban Aimerny 或者 /execute whitelist add Aimerny
/mcdr <mcdr_cmd> => 执行mcdr指令(管理员可用) # 例如: /mcdr !!kk 这是通过kook令服务器发送的消息 | /mcdr !!pb make 存档
介绍文本来源:src/kookin/README.md