Skip to content

Releases: ArcletProject/Entari

Entari 0.16.8

14 Nov 10:18

Choose a tag to compare

  • 修复 command.mount 注册失效的问题
  • 修复自定义事件注册的问题

Full Changelog: v0.16.7...v0.16.8

Entari 0.16.7

13 Nov 02:24

Choose a tag to compare

  • 修复依赖注入的处理问题
  • 允许用户拓展事件解析
     class NudgeEvent(BaseEvent):
         type = "onebot/poke"
     
         sender_id = attr("user_id", int, internal=True)
         target_id = attr(int, internal=True)
     
     
     @register_internal_event
     def _(t, typ, data):
         if t == "notice" and typ == "onebot" and data.get("sub_type") == "poke":
             return NudgeEvent
    
     @on(NudgeEvent)
     async def nudge_handler(sess: Session[NudgeEvent]):
         await sess.send(f"Nudge received from {sess.event.sender_id} to {sess.event.target_id}!")

Full Changelog: v0.16.6...v0.16.7

Entari 0.16.6

09 Nov 12:43

Choose a tag to compare

  • 增加了 app.cache 功能,可用于设置临时缓存数据
  • 修复配置文件中的环境变量无法保存时还原的问题
  • 修复类型问题

Full Changelog: v0.16.5...v0.16.6

Entari 0.16.5

12 Oct 03:59

Choose a tag to compare

  • 修复清理插件内的服务时未处理其下游服务依赖的问题
  • 修复保存配置文件时部分注释消失的问题
  • 完善了 Session 上的 API
  • Session 上的发送消息相关方法增加 at_sender, reply_to 便捷参数
  • Session 上的撤回消息方法增加 delay 便捷参数

Full Changelog: v0.16.4...v0.16.5

Entari 0.16.4

07 Oct 14:41

Choose a tag to compare

What's Changed

  • 增加日志配置项 log.short_level, 可以将日志中的等级名称设置为首字符形式
  • 修复子插件导入另外的子插件时,父级插件的错误设置
  • 修复子插件内导入父级插件时,Module 对象被提前释放的问题
  • 🧑‍💻 Modify the log storage path by @KomoriDev in #14

New Contributors

Full Changelog: v0.16.3...v0.16.4

Entari 0.16.3

04 Oct 06:10

Choose a tag to compare

  • 修复插件内使用 load_plugin 导入的插件无法重载的问题
  • 插件内可以使用 requirespackage 声明依赖并且在导入语句之后。
    from plugin_xxxx import xxxx
    
    requires("plugin_xxxx")
  • IntervalSemaphore 增加自定义 priority 的参数
  • 保证空白前缀一定位于 prefix 配置的末尾。

Full Changelog: v0.16.2...v0.16.3

Entari 0.16.2

26 Sep 03:55

Choose a tag to compare

  • 修复插件配置的 schema 生成

Full Changelog: v0.16.1...v0.16.2

Entari 0.16.1

24 Sep 11:28

Choose a tag to compare

  • log.ignores 支持 shell pattern, 例如: ignores: ["aiohttp.*"]
  • 修复上下游关系的插件导入与重载的些许问题
  • 新增基础配置项 schema: bool, 以配置是否为当前配置文件生成 JSON Schema 文件

Full Changelog: v0.16.0...v0.16.1

Entari 0.16.0

23 Sep 08:48

Choose a tag to compare

破坏性改动

  • 最低 python 支持版本更改为 3.10

新增

  • 插件新增重用特性,通过在配置文件中声明 <plugin_name>@<uid> 以作为可重用插件加载
    plugins:
      example_reusable@foo: {}
      example_reusable@bar: {}
    • 可重用插件表示持有不同配置的多个相同插件,通过 uid 来区分
    • 其他插件不能通过 import 直接导入可重用插件
  • .commands 新增配置项 block, 设置命令响应是否阻塞后续消息传播
  • session.prompt 新增 block 参数,设置等待用户回复时是否阻塞后续消息传播
  • MessageChain 新增 fork 方法,表示浅拷贝消息链
  • get_plugins 函数新增 subpluged 参数,表示是否返回包括子插件的所有插件
  • 新增基础配置项 log.rich_error, 启用后将通过 rich 打印错误信息 (需要先安装 rich 库)
  • PluginMetadata 新增字段 readme, 插件可以将详细描述设置在该字段上
    • 若插件为包结构并且包含 README 文件,则 PluginMetadata 会自动读取该文件

改进

  • 升级 Letoderea 到 0.19.4
  • 升级 satori-python 到 0.17.0
  • 优化运行性能,现在最优状态可达到 RPS 2600
  • Service 可以正常重载了
  • 修改插件 logger 的样式

修复

  • 修复模型的 Schema 导出问题

Full Changelog: v0.15.1...v0.16.0

Entari 0.16.0-RC1

19 Sep 06:54

Choose a tag to compare

Entari 0.16.0-RC1 Pre-release
Pre-release

Full Changelog: v0.15.1...v0.16.0rc1