You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
2023新年快乐!RainyBot v2.2.1-Stable 现已正式发布~ 此版本是自V2.0-Stable以来的最大更新,带来了大量的新功能/功能改进/问题修复;本次更新带来了全新的离线文档查看器,对 插件编辑器/插件管理器/控制台/Mirai适配器/RainyBot API 等多个组件进行了大幅改进与优化,还对全局进行了大量细节改进,修复了大量问题等。具体更新内容将在下方详细说明,建议所有用户均升级至此版本以获得最佳的开发与使用体验~
更新日志:
文档查看器:
我们实现了全新的离线文档查看器,包含了RainyBot API中的所有内容,并支持文档间的快速跳转。您现在可以在主界面顶部的选项卡中访问文档查看器,并在其拓展坞中选择您需要查看的文档以及具体部分。
文档查看器现在与插件编辑器紧密结合,您可以随时在编写插件时通过快捷键,快速跳转到与您正在编写的代码部分相匹配的文档;详情请查看插件编辑器部分的更新日志。
插件编辑器:
新增了编辑器拓展坞,提供了快速文件切换,与快速函数跳转功能。现在您无需离开编辑器窗口,即可在同一个窗口中快速在不同文件间进行编辑;您也可以通过点击拓展坞中的函数名,来快速跳转到当前文件中该函数对应的行。
我们对Godot引擎源码进行了定制,重新实现了自动补全与错误检查功能。现在,插件编辑器将会通过GDScript语法分析器来完全理解您的代码;它将根据您的代码,结合RainyBot/Godot API中的项目来充分检查您代码中的各类错误,并为您提供最合适的补全建议/弹出提示,以大幅提升您的插件开发体验。
我们还基于语法分析器重新实现了文档跳转功能。现在,您可以在插件编辑器中按住左侧Ctrl键,并将鼠标悬停在代码的任意部分;插件编辑器将判断该部分是否有匹配的文档,并在找到匹配文档后允许您点击快速跳转到该文档的对应部分。
我们改善了插件编辑器对于撤销/重做的处理机制,对于未保存文件的处理机制,对于编辑过程中被删除的文件的处理机制等。现在在此类事件发生时,编辑器应该能够正确的进行处理。
为自动补全的各个项目类型添加了图标,以便于进行快速区分
改进了错误提示过长时,底部栏显示出界的问题;现在出界部分将被自动省略,您可以通过将光标悬停在底部栏来查看完整内容。
插件管理器:
改进了插件管理器GUI中,插件列表的更新方式。插件列表将仅在插件状态发生变化时进行更新,而不是每次打开GUI时主动进行获取;此更改可大幅提高插件管理器GUI的整体性能。
我们改进了插件的加载/卸载/删除等机制,提升了相关组件的性能与稳定性。
现在新建插件输入文件名后,可通过回车键确认操作,而无需点击新建按钮 (感谢
@cloudwindy
对此改进的贡献)控制台:
新增了代理服务器配置选项,您现在可以在控制台配置文件中指定一个代理服务器地址与端口,即可让RainyBot的所有HTTP请求通过此代理进行 (包括内部请求与来自RainyBot API的请求)
新增控制台自动清理功能,将在控制台当前内容行数超过指定范围时 (默认为1000行),自动保存为新日志文件并清空显示内容;此功能可大幅降低控制台的内存占用,可在控制台配置文件中对此进行调整。
新增了单次输出打印的字符上限 (默认为2000字),超过限制部分将被省略,以防止巨大字符串打印造成性能问题;此选项可在控制台配置文件中进行调整。
大幅提高了重新导入资源功能的速度与稳定性,现在应该拥有与通过场景编辑器重新导入相同的性能。
改进了各类GUI的输入敏捷度,现在所有界面应该对各种操作拥有更快的响应速度
修复控制台标题栏的运行时间显示错误的问题
Mirai适配器:
实现了多控制台功能,合并了Mirai后端与RainyBot控制台界面,现在您可以在一个窗口快速切换两个控制台的显示与命令输入。
实现了对Mirai进程的状态跟踪及管理,优化了Mirai后端启动/初始化/连接的性能与稳定性。现在可以通过控制台实现Mirai进程的启动/停止,并且在运行状态发生变化时提供通知与提示。
改进了Mirai的加载与启动流程,与Mirai的连接流程降低了对计时器的依赖;现在将在检测到Mirai的Bot账号登陆成功后进行连接,而不是在启动进程后通过计时进行判断。
对Websocket连接的稳定性进行改进,避免在发送和接收大型数据包时断开连接,修复了诸如无法正常获取人数较多的群成员列表等问题
修复了对Websocket的配置修改不生效的问题,改进了正确的配置格式
更新Mirai版本至
v2.13.3
,Mirai-API-Http版本至v2.7.1
RainyBot API:
(可能破坏兼容性) 基于C++模块重新实现了此前版本中损坏的Gif图像生成功能;Gif图像生成速度相较此前平均提高了100倍,生成一张20帧的小型动图只需大约0.02秒。移除了
GifImage
类的get_data()
函数(可能破坏兼容性) 为各项API内部实现了规范性检查,并统一了内部构造函数的返回结果。现在,对于某些返回结果为对象实例的函数,若请求失败/执行失败,将统一返回
null
而不是难以确定有效性的实例。改进场景图像的获取,现在会自动多等待一个渲染帧,以确保能够正确获取到场景更新后的图像
杂项:
此版本起,我们将开始使用 为RainyBot自定义的Godot Engine 4.0源码分支 进行开发,这允许我们与Godot引擎的核心进行更深层的交互,且允许我们以高性能的方式实现更多功能。(此版本截止至Commit Xwdit/godot@f07ad71)
此版本对各个界面的外观细节,便捷性与可访问性等做出了大量优化与调整
此版本对各类组件进行了大量的性能优化与错误修复
完整更新细节请参见: v2.1.6-stable...v2.2.1-stable
兼容性变更:
移除了
GifImage
类的get_data()
函数对于某些返回结果为对象实例的API方法,若请求失败/执行失败,将统一返回
null
而不是难以确定有效性的实例。(来自Godot上游的变更) 若您的插件场景使用了
TextureRect
组件,请在更新到此版本前,使用文本编辑器批量打开您插件中所有的.tscn
格式文件,将其中所有的ignore_texture_size = true
批量替换为expand_mode = 1
,检查无误后即可安全更新到此版本。若不进行此更改,您的场景布局可能会被完全破坏更新说明:
此版本更新了所基于的Godot二进制文件,暂不支持对其进行热更新,因此仅包含完整发行包(文件名以
-full
结尾)请删除
RainyBot根目录/adapters/mirai/
下除bots
文件夹以外的所有内容,删除RainyBot根目录下的.pck
(如果有)及.exe
文件,删除Rainybot根目录下的project.godot
(如果有)或project.binary
(如果有)文件以及libs
(如果有)和.godot
(如果有)文件夹,随后下载完整发行包并用其中所有内容直接覆盖旧版本文件即可。更新完毕后,您可能需要运行一次插件菜单中的
重新导入所有资源
功能,以确保所有场景及资源均可被正常加载国内下载镜像:
Windows版:
完整包: https://www.jianguoyun.com/p/Ddet6XwQyqz1CRjP-vEEIAA
语音转码器(包含ffmpeg与silk-encoder): https://www.jianguoyun.com/p/DVwmhTsQyqz1CRjRuuAEIAA
This discussion was created from the release v2.2.1-Stable.
Beta Was this translation helpful? Give feedback.
All reactions