Skip to content

v2.0-alpha-1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Xwdit Xwdit released this 06 Dec 06:15
· 436 commits to main since this release
ee7c6f3

RainyBot新的里程碑版本v2.0-alpha-1正式发布啦~
此版本带来了大量的新功能,更改与优化,其中包含许多可能破坏与以往版本插件兼容性的API变更

更新日志:

  • 大量简化了角色消息发送/消息事件回复/消息链构造/消息链添加等API函数,且简化了部分消息类型的构造函数;现在这些函数可智能判断向函数中传入的类型来决定其行为,例如传入字符串可自动构造为文本消息类实例等。且所有消息事件的回复函数均得到统一,从此无需区分消息事件的类型即可直接回复
  • 新增关键词相关功能,可注册一个关键词并指定关键词将触发的函数,且可指定每个关键词的权限检查函数;随后即可在任意消息事件中通过传入事件实例来自动判断关键词触发
  • 新增上下文关联功能,可让插件在某函数执行过程中阻塞来等待一个上下文的回应,随后可由其它函数传入其所需的内容来继续进行处理,且可指定上下文超时的时间
  • 重写插件事件机制,支持设定同事件中的不同插件的传递优先级,并且可通过在事件触发的函数中返回一个true来阻断事件向下传递。
  • 重写插件加载机制,支持插件间依赖设定,开发插件时可指定插件所需的依赖插件,以确保依赖项能够在其之前被RainyBot加载
  • 简化了从消息链中获取消息数组/消息文本的流程,现在直接传入消息的类名(无需双引号),或包含多个消息类名的数组即可
  • 简化了插件事件注册的流程,现在通过直接传入事件的类名即可进行注册(无需双引号),无需再传入事件的分类与具体类型
  • 事件,关键词与命令注册所需的函数名的双引号现在可选,可与事件注册的类名一样无需双引号;但若要绑定到插件基类的内置函数,则仍需双引号(如"trigger_keyword")
  • API中新增大量用于简化操作的新函数,例如可直接通过event.get_sender_id()来获取消息发送者的ID,而无需先获取消息链再获取ID
  • 插件中新增所有插件加载完毕时触发的虚函数,可用于保证在所有插件均被加载后执行某操作
  • 优化界面布局,让控制台文本布局对阅读更友好。同时命令输入框现已通过临时方案来支持显示输入光标
  • Mirai-Adapter配置文件中新增对设备协议修改的支持(需要重置配置文件)
  • 新增控制台日志功能,现在在RainyBot正常关闭时将会储存控制台日志到/logs目录下
  • 改善与Mirai后端的通信机制,现在连接时将会自动携带SessionKey,且现在断线重连后不会再重载插件了
  • Release包中的Mirai后端版本更新至2.9.0-M1,Mirai-Api-Http版本更新至2.3.3
  • 基于的Godot版本更新至 4.0 Commit [97034939f]

若要查看更详细的更新内容,请参阅Commits更改日志;上述提到的许多更新项目可在此版本中附带的示例插件中找到参考,您也可以通过查阅RainyBot-API或在社区群聊中咨询来了解更多

国内下载镜像(坚果云):https://www.jianguoyun.com/p/Dbzs5AIQyqz1CRiao58E