Releases: ArcletProject/Entari
Releases · ArcletProject/Entari
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
Entari 0.10.0
新增
- 内置插件 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
Full Changelog: v0.10.0rc1...v0.10.0rc2