OneBot标准的Kotlin实现及mirai插件 - 原cqhttp-mirai
mirai
2.0-RCget_friend_list
现支持返回好友备注get_stranger_info
极有限支持, 仅返回用户昵称, 且仅支持获取好友或存在于Bot
所在某群中的成员 相关Issue
onebot.backend
->ONEBOT_BACKEND
onebot.account
->ONEBOT_ACCOUNT
onebot.password
->ONEBOT_PASSWORD
xml
以及json
消息的字段不正确 #112json
发送程序分享富文本消息, 类似 {\"app\":\"com.tencent.weather\", ....
http
配置项中增加timeout
配置 #113json
, xml
, 弃用rich
mirai-console
至1.0.0
, 更新日志, 现在聊天中/help
命令不会与console
内建命令冲突了 #110console
内置了简单修改日志打印等级的配置, 因此弃用自定义Logger
OneBot
配置项中debug
项作废, 修改此项不会产生任何作用console
本身的配置, 位于config/Console/Logger.yml
defaultPriority: INFO
修改为defaultPriority: DEBUG
或以上开启所有mirai及所有插件的Debug日志输出loggers
项下新增OneBot: DEBUG
或以上单独开启本插件的Debug日志输出
OneBot Mirai
, mirai-console
中名为OneBot
OneBot Kotlin
mirai-console 1.0
#93 #99 #106event_filter
配置项, 将filter.json
放置在config/OneBot/filter.json
既视为启用事件过滤send_msg
API中群聊与私聊逻辑判断问题 #105mirai-core
至1.3.3
, 插件版添加获取群荣誉API get_group_honor_info
支持config/OneBot/settings.yml
mirai-console
至1.0-RC-1
mirai-console-terminal
miraiOK
删除对config.txt
的支持, 自动登录请修改config/Console/AutoLogin.yml
使用mirai-console
内建支持
cqhttp.account
-> onebot.account
cqhttp.password
-> onebot.password
--args -- --xx
传入参数至mirai-console
, 如--args -- --help
将--help
传入获取mirai-console
提供的帮助信息mirai-console 1.0
后配置文件路径有所变化, 现在配置文件位于config/OneBot/settings.yml
插件数据文件夹位置 (image, record等) 同样有所变化, 现在位于data/OneBot
文件夹下
并且配置项中将原来的各账号移动至bots
配置项下, 现在格式如下, 建议不配置运行一次以初始化样本配置文件再进行修改
debug: true
bots:
1234567890:
ws_reverse:
0987654321:
ws_reverse:
修复: 反向WS客户端非Universal
模式下event
路由不保持长连接的问题, 此BUG导致所有非Universal
模式接入的框架无法使用(如cqhttp.Cyan) #69
修复: 反向WS客户端添加TLS
支持, 需在配置文件ws_reverse
中新增项useTLS: true
以使用TLS
建立连接, 配置文件详见README.md #42
修复: HTTP上报服务启动时发送的meta_event
未签名, 此BUG导致一些框架(如PicqBotX)无法正常使用 #65
修复: 心跳服务发送数据类型错误, 此BUG导致一些框架无法正常接收心跳数据包, (如PicqBotX, cqhttp.Cyan) #70
修复: 从链接发送语音时语音不完整的问题 #59
修复: get_version_info
API返回值现在符合OneBot标准了 #67
app_version
为当前版本, app_build_version
为当前Commit
版本修复: set_group_name
API参数现在符合OneBot标准了
新增: 通过链接下载媒体时支持timeout
配置 #61 举例: [CQ:image,cache=0,timeout=5,url=xxxxxx]
新增: 通过链接下载媒体时支持proxy
配置来通过代理下载, 举例: [CQ:image,cache=0,proxy=1,url=xxxxxx], 需在配置文件中新增proxy
项, 支持HTTP
及Sock
代理, 配置文件详见README.md
新增: 现在支持发送网易云音乐卡片了, 感谢 @F0ur 对go-cqhttp做出的贡献
新增: get_group_member_info
API支持设置no_cache
, 此前mirai
已会实时更新群员权限, 即不需要设置为true
, no_cache
选项仅适用于实时获取群员特殊头衔
新增: 支持get_image
和get_record
API #60 , 需在配置中开启对应缓存, 返回值中file
指向媒体文件绝对路径, file_type
为媒体实际类型, 未知类型返回unknown
get_image
会根据缓存下载图片
get_record
会返回已缓存语音包含上述所有更新
优化: 现在读取config.txt自动登录时不会与传参和环境变量重复导致登录两次同一个Bot
了 #64
~碎碎念: mirai-console-1.0.0
已基本可用, 现在应该是基于mirai-console-0.5.2
的最后一个大版本了 , 接下来重心是对mirai-console-1.0.0
进行适配~
Authorization
头 #580.2.2.4
中引入的读取go-cqhttp的.image
文件现在支持JRE 1.8
而非JRE 1.9
以上了delete_msg
接口成功时不会错误返回报错了Bot
被邀请进群及加群申请被通过后会正常触发MemberJoinEvent
事件了, user_id
与Bot
相同Bot
被邀请加群事件了image, file=XXXX
, image, file=XXXX.cqimg
Embedded
版本并加载其他mirai
插件后无法正确读取CQHTTPMirai
配置文件导致无法正常使用, 此BUG与Embedded
版本初衷相违背, 但由于mirai-console 1.0.0
发布后配置文件读取逻辑需要重写, 故暂停此问题的修复nonebot
中您有命令正在执行,请稍后再试
不会在报错WebSocket API call timeout
后才能发出 #15.image
缓存文件因小版本不一定全为BUG修复, 今后小版本不再使用-Fix*
方式进行命名
BotEvent
的系列化问题, 此BUG在0.2.2
尝试升级kotlin serialization
时引入, 会导致插件使用者收不到各类Bot时间, 如好友请求
, 群成员加群请求/退群事件
, 禁言事件
等
get_group_info
, get_group_member_list
API的参数解析错误, 举例: 此BUG会导致yobot无法获取群组和成员信息
.handle_quick_operation
API时对其引入的新BUG, 此BUG会导致只有在群里回复并AT发送人时才能正常解析消息
影响范围广泛, HTTP上报服务#48, 反向WS客户端与Nonebot #49mirai-core 1.2.1
, 与1.1.3不兼容 #45amr
和silk
格式的语音全平台可收听, 发送mp3
, m4a
, aac
等格式语音只有手机端可收听.handle_quick_operation
API中的消息解析错误, 此错误导致无法使用array
格式进行快速回复 #38Content-Type
中加入编码值, 此前一些较严框架无法收到上报消息 #37Bot
设置中新增以下项'123456789':
heartbeat:
enable: true
interval: 15000 # 心跳发送间隔, 单位毫秒, 如不填写默认15000
龙王
, 群聊之火
, 快乐源泉
等, 详细API描述
~碎碎念: 这版本来昨天就要发, 但是mirai
突然复活发版mirai-core 1.2.0
, 适配后想跳过这版直接基于mirai-console 1.0
上一波cqhttp-mirai 0.3.0
, 但是今天测试了console 1.0.0
后发现破坏体验的BUG有点多, 只好选择基于console 0.5.2
再发一版, 那么下一版不出意外将基于console 1.0.0
, 配置文件将会不兼容, 同时需要其他插件也适配console 1.0.0
, 目前已确认mirai-native
, mirai-api-http
, mirai-kts
等下版本将适配console 1.0.0
~
/
的事件处理逻辑错误 #33url
值进行转义file=md5
而非mirai
的imageId
images
改为image
, 位于plugins/CQHTTPMirai/image
url
发送图片时, 默认对url
进行hash并保存图片缓存(仅保存图片元数据, <0.2KB), 支持cache=0
来不使用缓存cacheImage
字段, 当设置为true
时会对接收到的所有图片进行缓存, 默认不开启(仅保存图片元数据, <0.2KB)file=
字段值), 需开启上述接收图片的缓存cqimg
文件, 需将文件复制到image
文件夹下, 发送时文件名不带cqimg
后缀
--account 1234567890 --password xxxxxx
来进行自动登录cqhttp.account
和cqhttp.password
, 作用同上, 优先级低, 会被参数覆盖url
发送语音时, 默认对url
进行hash并保存语音缓存(保存完整语音数据), 支持cache=0
来不使用缓存cacheRecord
字段, 当设置为true
时会对接收到的所有语音进行下载缓存, 默认不开启(保存完整语音数据)file=
字段值), 需开启上述接收语音的缓存4096
条下调至512
条, 缩减内存占用set_group_name
支持. 来自go-cqhttp的设置群名
.amr
格式语音.amr
格式语音mirai-console
, miraiOK
同级目录java -jar cqhttp-mirai-**-embedded.jar
image
文件夹路径有所变更, 在plugins
文件夹下, 而非plugins/CQHTTPMirai
plugins
文件夹下放置cqhttp-mirai
的Jar包