Releases: ArcletProject/Entari
Releases · ArcletProject/Entari
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 的依赖 - 升级至
Letoderea
0.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
Entari 0.10.1
- 修复 localdata 导入问题
Full Changelog: v0.10.0...v0.10.1