Releases
v0.7
Alconna 0.7.0
依据 #21 进行了相关调整, 不兼容0.7以下
以下多个组件或模块进行了修改, 具体内容请查看 更新日志
Alconna
TemplateCommand
Subcommand
Arpamar
ArgAction
AlconnaDecorate
alconna.analyser
增加alconna.analysis
,
Alconna 0.7.1:
增加alconna.builtin.construct.AlconnaFire
,为Alconna
的Fire-like
方法. #22
其会尝试根据传入的对象生成Alconna
增加 UnionArg
, 其传入的列表中可以包含ArgPattern
、Type
与实际值. 为choice
的改进
Args
支持传入Union[...]
格式的参数
增加 ObjectPattern
, 其会尝试从对象中生成ArgPattern
, 并在解析成功后创建实例
action
现支持传入异步函数 #23
AlconnaString
现在会读取locals
的值
Alconna 0.7.2:
改进AlconnaFire
方法, 其可通过AlconnaFire.instance
获取目标对象的可能实例 #27
加入SequenceArg
与MappingArg
, 其对应解析列表、元组、集合与字典
Subcommand在其Args未解析时抛出异常
Arpamar现在可以获取subcommands与error_info
增强Format #25
修改help—action相关
Alconna 0.7.3:
优化结构
增加AlconnaFire
的Config, 用来约束AlconnaFire
的参数 #27
AlconnaFire
现在可以解析子命令, 通过Config传入get_subcommand=True
来启用 #26
更好的parameter-helptext
新增Args构造方法a = Args.xxx[value, default]
util.chain_filter
重新归并到Analyser.handle_message
里
增加Force
类, 用以标记arg类型不需要进行转换; 或者在key前面加上"#"
支持传入键值对参数与可变键值对参数, 分别用"@"
和"**""
标记
支持将参数设为可选(即未解析成功时不报错而是跳过), 用"?"
标记
Arpamar
可以通过XXX.opt.arg1
、XXX.sub.sub_opt.arg2
等方式获取参数值
修复bug
Alconna 0.7.4 ~ 0.7.4.3
修复BUG
加入Alconna.local_args
增加_
key前缀, 用以隐藏参数注解
Alconna 0.7.5
内部类型改进, MessageChain
-> DataCollection
#29
加入ArpamarBehavior
, 用以解析后的预处理, 并提供三个预制的behavior
: #30
set_default
: 当某个选项未被输入时, 使用该行为添加一个默认值
exclusion
: 当指定的两个选项同时出现时报错
cool_down
: 限制命令调用频率
加入NodeVisitor
与HelpFormatter
, 并将原先给CommandNode的help生成转移给Formatter #24
加入AlconnaMessageProxy
, 用作对外适配接口
Alconna 0.7.6
增加对Graia
系的原生支持, 位于arclet.alconna.graia
; 请用pip install arclet-alconna[graia]
获取
header现在可支持非文字类元素与文字混用的解析, 原来的方式请改用元组(非文本元素, 文本)
增加Alconna
对 /
与@
运算符的支持, 作用为重置命名空间
增加Alconna
对 +
运算符的支持, 作用为增加选项
Args
可直接传入 str
, 即Args["foo":"foo"]
-> Args["foo"]
Format
中的format slot可以直接写入类型, 如"{name: str}"
Alconna 0.7.7
加入Argparser
风格的HelpFormatter
加入AlconnaDuplication
, 旨在提供更好的解析结果使用
option的name与alias现在会根据长度自动倒换
修复Bug
You can’t perform that action at this time.