Releases: ArcletProject/Entari
Releases · ArcletProject/Entari
Entari 0.13.0
What's Changed
-
升级
Letoderea至 0.17.1 (9d7da0c, 81bd248, 5a96a92)- 通过
ExitState.STOP或ExitState.BLOCK进行会话控制 filter_.xxx写法变更:@propagate(filter_.xxx, filter_.xxx)->@filter_.xxx & filter_.xxx
- 通过
-
支持开发者自定义拓展读写配置文件格式 (e5f384f, d9de1c0, 1c1017d)
- 内建
toml配置文件支持 (104f44c)- 启用方法:配置环境变量
ENTARI_CONFIG_EXTENSION为'::toml;'
- 启用方法:配置环境变量
- 内建
-
支持设置外置插件目录 (002cc12)
- 通过
basic.external_dirs配置项传入目录路径
- 通过
-
支持通过注释的方式将某导入标记为插件导入 (bf97482, eb2da1b)
- 导入插件,以
# entari: plugin标记, 例如from entari_plugin_xxx import foo # entari: plugin - 导入子插件,以
# entari: package标记, 例如from entari_plugin_xxx import bar # entari: package
- 导入插件,以
-
配置模型支持双向绑定,即当插件修改模型数据时将自动同步到配置文件中 (37a2c42, b4b5128, 3f4faf0)
-
command.on将读取函数 docstring 作为命令描述 (2b68f46) -
新增命令行指令
entari plugin new和entari plugin test(4829802, 077dfea)plugin test允许对插件进行简单测试,即测试导入是否成功,然后要求发送一条消息进行命令测试(如有)
-
⬆️ Bump dependabot/fetch-metadata from 2.3.0 to 2.4.0 by @dependabot in #12
Full Changelog: v0.12.1...v0.13.0
Entari 0.12.1
- 修复
AlconnaDispatcher.assign - 增加一个 basic 配置
skip_req_missing, 设置为 True 后可让订阅器在依赖不满足时跳过执行
Full Changelog: v0.12.0...v0.12.1
Entari 0.12.0
What's Changed
entari new命令增加选项--plugins来增加加载的插件- 更新
Letoderea到 0.15.0 by @RF-Tar-Railt in #10- 不再提供
@Filter().xxx.yyy()形式的过滤器,可以使用@propagate(filter_.xxx(), filter_.yyy())形式替代 - 依据 propagate 机制,响应器可以自行实现过滤器,会话控制等功能
- 不再提供
- 增加事件
command/output,command/before_parse和command/after_parse- 任一命令的解析流程都会执行这些事件。插件可以通过监听并返回值来控制解析流程。
- 例如:监听
command/after_parse并返回 bool 可控制命令是否执行。
yaml格式的配置文件支持插值语法来使用环境变量:foo: ${{ env.XXX }}- 增加选择依赖
dotenv - ⬆️ Bump dependabot/fetch-metadata from 2.2.0 to 2.3.0 by @dependabot in #11
Full Changelog: v0.11.2...v0.12.0
Entari 0.11.2
echo插件增加转义/反转义选项- 增加插件加载/卸载的事件
commands会记录插件中声明了哪些指令- 增加基础配置
cmd_count, 默认为 4096
Full Changelog: v0.11.1...v0.11.2
Entari 0.11.1
- 修复
unload_plugin
Full Changelog: v0.11.0...v0.11.1
Entari 0.11.0
新增
- 插件配置现支持传入配置模型类
- 可以通过
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.collect或collect_disposes方法,用于注册插件卸载时的回调函数- 插件配置项
$files, 用于指定部分插件的配置文件路径或目录路径 (例如,在./plugins下存放各插件的独立配置文件, 即可配置$files: ["./plugins"])
改进
- 使用
nonestorage作为 local_data 的依赖 - 升级至
Letoderea0.14 - 插件内使用
es.on注册的响应器现在也会由插件管理 (除非插件标记自己为 static) startup,ready与cleanup事件不再于插件重载时发送
修复
- 插件子目录下的插件作为独立插件加载时的错误
Full Changelog: v0.10.5...v0.11.0
Entari 0.10.5
Full Changelog: v0.10.4...v0.10.5
Entari 0.10.4
- self log展示的消息会把图片等元素的信息抹去
- 修复 assign 的优先级
Full Changelog: v0.10.3...v0.10.4
Entari 0.10.3
- 再次修复模块导入问题
Full Changelog: v0.10.2...v0.10.3
Entari 0.10.2
- 修复依赖
Full Changelog: v0.10.1...v0.10.2