Skip to content

Releases: ArcletProject/Entari

Entari 0.11.2

25 Jan 08:51
Compare
Choose a tag to compare
  • echo 插件增加转义/反转义选项
  • 增加插件加载/卸载的事件
  • commands 会记录插件中声明了哪些指令
  • 增加基础配置 cmd_count, 默认为 4096

Full Changelog: v0.11.1...v0.11.2

Entari 0.11.1

30 Dec 07:46
Compare
Choose a tag to compare
  • 修复 unload_plugin

Full Changelog: v0.11.0...v0.11.1

Entari 0.11.0

30 Dec 07:08
Compare
Choose a tag to compare

新增

  • 插件配置现支持传入配置模型类
    • 可以通过 config_validator_register 来注册某一配置基类的处理方法 (例如, 注册 pydantic.BaseModel 的处理方法为 type_validate)
    • plugin_config 可以传入插件定义的配置类使其解析传入的配置数据
    • 内置使用 dataclass 作为配置基类的 BasicConfModel
from arclet.entari import BasicConfModel, plugin_config

class Config(BasicConfModel):
    foo: str
    bar: int = 0

conf = plugin_config(Config)
  • 配置文件的路径可以通过 ENTARI_CONFIG_FILE 环境变量来设置
  • plugin.collectcollect_disposes 方法,用于注册插件卸载时的回调函数
  • 插件配置项 $files, 用于指定部分插件的配置文件路径或目录路径 (例如,在 ./plugins 下存放各插件的独立配置文件, 即可配置 $files: ["./plugins"])

改进

  • 使用 nonestorage 作为 local_data 的依赖
  • 升级至 Letoderea 0.14
  • 插件内使用 es.on 注册的响应器现在也会由插件管理 (除非插件标记自己为 static)
  • startup, readycleanup 事件不再于插件重载时发送

修复

  • 插件子目录下的插件作为独立插件加载时的错误

Full Changelog: v0.10.5...v0.11.0

Entari 0.10.5

17 Dec 10:42
Compare
Choose a tag to compare

Entari 0.10.4

17 Dec 10:02
Compare
Choose a tag to compare
  • self log展示的消息会把图片等元素的信息抹去
  • 修复 assign 的优先级

Full Changelog: v0.10.3...v0.10.4

Entari 0.10.3

17 Dec 07:55
Compare
Choose a tag to compare
  • 再次修复模块导入问题

Full Changelog: v0.10.2...v0.10.3

Entari 0.10.2

17 Dec 06:59
Compare
Choose a tag to compare
  • 修复依赖

Full Changelog: v0.10.1...v0.10.2

Entari 0.10.1

16 Dec 06:21
Compare
Choose a tag to compare
  • 修复 localdata 导入问题

Full Changelog: v0.10.0...v0.10.1

Entari 0.10.0

16 Dec 05:51
Compare
Choose a tag to compare

新增

  • 内置插件 help 和 inspect
  • MessageChain新方法(select,transform,split等)
  • 基础配置:指令前缀
  • commands新增选项 use_config_prefix
  • 新增 Filter 类,其整合了通用的过滤方法 (选定 guild,channel,user_id,self 等)与消息事件的过滤方法 (public/direct, reply_me, notice_me 等)
  • 插件配置 $prelude,其指定的插件先于其他插件加载,并仅能作为静态插件
plugins:
  $prelude: ["::auto_reload"]
  ::help: {}
  ::auto_reload: {}
  • entari-cli 新增 new 子命令,用来生成配置文件
  • 内置调度器/定时任务服务,并可以动态创建任务 (需要插件配置 .scheduler 来启用)
  • 内置频次控制、并发限制的辅助器
  • 内置本地数据存储目录/临时目录的提供

改进

  • 使用 satori v1.2
  • 直接使用 plugin 的所有键作为要导入的插件列表
  • 通过在插件名字前加上 ~ 来表示禁用插件
  • auto_reload插件可监听配置文件的修改并执行重载插件本体或应用插件新配置 (通过 watch_config 启用)
  • commands 将 need_tome 配置分割为need_replyme和need_noticeme
  • 插件配置支持传入黑名单/白名单过滤器 ($allow/$deny)
plugins:
  foo:
    $allow:
      channel: ["xxxxxx"]
      $or:
        direct: true
    $deny:
      user: ["xxxxxx"]
  • 插件可声明自己为静态插件,以忽略重载操作(静态插件不能通过插件来监听事件)
  • entari 指令改为 entari run

修复

  • 子插件与附属插件的导入

Full Changelog: v0.9.0...v0.10.0

v0.10.0rc2

14 Dec 09:28
Compare
Choose a tag to compare
v0.10.0rc2 Pre-release
Pre-release

Full Changelog: v0.10.0rc1...v0.10.0rc2