OneBot Mirai: 对接OneBotV11协议的JAVA实现
-
OneBot Mirai
欢迎回到Mirai
✨ 基于 OneBot标准的 mirai 插件版✨声明
- OneBot Mirai 是完全免费且开放源代码的Mirai插件,旨在学习,请勿用于非法用途
开始使用
- 请首先运行mirai-console相关客户端生成plugins文件夹
- 将
onebot-mirai
生成的jar包文件
放入plugins
文件夹中 - 运行
mirai-console
, 将在config/cn.evole.mirai.onebot
文件夹中自动生成样本配置文件settings.yml
- 编辑
config/cn.evole.mirai.onebot/setting.yml
配置文件, 按照以下配置给出的注释修改保存 - 再次启动mirai-console相关客户端
配置相关
bots: # 要进行配置的QQ号 123456: # 图片、音频缓存 cacheImage: true cacheRecord: true heartbeat: enable: false interval: 1500 http: enable: false host: 0.0.0.0 port: 6700 accessToken: '' postUrl: '' postMessageFormat: string secret: '' timeout: 0 ws_reverse: # 可选,是否启用反向Websocket服务器,默认启用 - enable: true postMessageFormat: string reverseHost: 127.0.0.1 reversePort: 8090 accessToken: '' reversePath: 'onebot/v11/ws' reverseApiPath: 'onebot/v11/ws/api' reverseEventPath: 'onebt/v11/ws/event' useUniversal: true useTLS: false reconnectInterval: 3000 - enable: true postMessageFormat: string reverseHost: 127.0.0.1 reversePort: 8091 accessToken: '' reversePath: 'onebot/v11/ws' reverseApiPath: 'onebot/v11/ws/api' reverseEventPath: 'onebt/v11/ws/event' useUniversal: true useTLS: false reconnectInterval: 3000 ws: # 可选,是否启用正向Websocket服务器,默认启用 enable: true # 可选,上报消息格式,string 为字符串格式,array 为数组格式, 默认为string postMessageFormat: string wsHost: 0.0.0.0 # 监听端口 wsPort: 8080 # 可选,访问口令, 默认为空, 即不设置Token accessToken: '': # 此机器人是否启用 enable: true
兼容性
- OneBot Mirai 兼容 OneBot-v11 大部分内容。
接口
- 正向 WebSocket
- 反向 WebSocket
- HTTP API
- 反向 HTTP POST
实现
已实现 CQ 码
符合 OneBot 标准的 CQ 码
| CQ 码 | 功能 |
|--------------|--------------|
| [CQ:face] | QQ 表情 |
| [CQ:record] | 语音 |
| [CQ:video] | 短视频 |
| [CQ:at] | @某人 |
| [CQ:share] | 链接分享 |
| [CQ:music] | 音乐分享 音乐自定义分享 |
| [CQ:reply] | 回复 |
| [CQ:forward] | 合并转发 |
| [CQ:node] | 合并转发节点 |
| [CQ:xml] | XML 消息 |
| [CQ:json] | JSON 消息 |已实现 API
符合 OneBot 标准的 API
| API | 功能 |
|--------------------------|------------|
| /send_private_msg | 发送私聊消息 |
| /send_group_msg | 发送群消息 |
| /send_msg | 发送消息 |
| /get_msg | 获取消息 |
| /delete_msg | 撤回信息 |
| /set_group_kick | 群组踢人 |
| /set_group_ban | 群组单人禁言 |
| /set_group_whole_ban | 群组全员禁言 |
| /set_group_admin | 群组设置管理员 |
| /set_group_card | 设置群名片(群备注) |
| /set_group_name | 设置群名 |
| /get_image | 获取图片信息 |
| /get_record | 获取语音 |
| /set_group_leave | 退出群组 |
| /set_group_special_title | 设置群组专属头衔 |
| /set_friend_add_request | 处理加好友请求 |
| /set_group_add_request | 处理加群请求/邀请 |
| /set_essence_msg | 设置群精华消息 |
| /get_login_info | 获取登录号信息 |
| /get_stranger_info | 获取陌生人信息 |
| /get_friend_list | 获取好友列表 |
| /get_group_info | 获取群信息 |
| /get_group_list | 获取群列表 |
| /get_group_member_info | 获取群成员信息 |
| /get_group_member_list | 获取群成员列表 |
| /get_group_honor_info | 获取群荣誉信息 |
| /get_version_info | 获取版本信息 |
| /get_status | 获取状态 |已实现 Event
符合 OneBot 标准的 Event(部分 Event 比 OneBot 标准多上报几个字段,不影响使用)
| 事件类型 | Event |
|------|-----------|
| 消息事件 | 私聊信息 |
| 消息事件 | 群消息 |
| 通知事件 | 群管理员变动 |
| 通知事件 | 群成员减少 |
| 通知事件 | 群成员增加 |
| 通知事件 | 群禁言 |
| 通知事件 | 好友添加 |
| 通知事件 | 群消息撤回 |
| 通知事件 | 好友消息撤回 |
| 通知事件 | 群内戳一戳 |
| 通知事件 | 好友戳一戳 |
| 通知事件 | 群成员荣誉变更 |
| 通知事件 | 群成员名片变更 |
| 通知事件 | 群成员特殊头衔变更 |
| 通知事件 | 其他客户端在线状态 |
| 请求事件 | 加好友请求 |
| 请求事件 | 加群请求邀请 |更新日志:
开源协议
- AGPL-3.0 © cnlimiter
项目引用
友情链接
兼容 OneBot-v11 标准的一些项目🥰
项目地址 核心作者 备注 MrXiaoM/Overflow MrXiaoM 实现 mirai 的无缝迁移 LagrangeDev/Lagrange.Core NepPure C#实现 By Konata.Core whitechi73/OpenShamrock whitechi73 Xposed框架hook实现 Hoshinonyaruko/Gensokyo Hoshinonyaruko 基于官方api 轻量 原生跨平台 统计
-
CQHTTP Mirai好久没有更新了,终于有大佬做Onebot-mirai了,点个star先
-
@earlydew 谢谢Star~
-
大佬不要鸽,期待反向ws
-
星了,等一个反向ws
-
请求更新,支持更多的api
-
已更新至0.2.0,支持反向ws,图片、音频缓存,消息缓存
-
@cnlimiter 在 OneBot Mirai: 对接OneBotV11协议的JAVA实现 中说:
http:
enable: false
host: 0.0.0.0
port: 6700
accessToken: ''
postUrl: ''
postMessageFormat: string
secret: ''
timeout: 0大佬,配置文件里的这是HTTP API还是反向 HTTP POST
-
@wzer 请使用最新版本的配置
bots: 114514: cacheImage: true cacheRecord: true heartbeat: enable: false interval: 1500 http: enable: true host: 0.0.0.0 port: 6700 accessToken: '' postUrl: 'http://0.0.0.0:6700/api' postMessageFormat: string secret: '' timeout: 0 ws_reverse: - enable: false postMessageFormat: string reverseHost: 127.0.0.1 reversePort: 8090 accessToken: '' reversePath: 'onebot/v11/ws' reverseApiPath: 'onebot/v11/ws/api' reverseEventPath: 'onebt/v11/ws/event' useUniversal: true useTLS: false reconnectInterval: 3000 ws: enable: true postMessageFormat: string wsHost: 0.0.0.0 wsPort: 9999 accessToken: 1111 db: enable: true debug: false proxy: ''