Skip to content

Alconna 0.7.x

Compare
Choose a tag to compare
@RF-Tar-Railt RF-Tar-Railt released this 01 Mar 02:40
· 345 commits to main since this release

Alconna 0.7.0

  1. 依据 #21 进行了相关调整, 不兼容0.7以下
  2. 以下多个组件或模块进行了修改, 具体内容请查看 更新日志
  • Alconna
  • TemplateCommand
  • Subcommand
  • Arpamar
  • ArgAction
  • AlconnaDecorate
  • alconna.analyser
  1. 增加alconna.analysis,

Alconna 0.7.1:

  1. 增加alconna.builtin.construct.AlconnaFire,为AlconnaFire-like方法. #22
    其会尝试根据传入的对象生成Alconna
  2. 增加 UnionArg, 其传入的列表中可以包含ArgPatternType与实际值. 为choice的改进
  3. Args支持传入Union[...]格式的参数
  4. 增加 ObjectPattern, 其会尝试从对象中生成ArgPattern, 并在解析成功后创建实例
  5. action现支持传入异步函数 #23
  6. AlconnaString现在会读取locals的值

Alconna 0.7.2:

  1. 改进AlconnaFire方法, 其可通过AlconnaFire.instance获取目标对象的可能实例 #27
  2. 加入SequenceArgMappingArg, 其对应解析列表、元组、集合与字典
  3. Subcommand在其Args未解析时抛出异常
  4. Arpamar现在可以获取subcommands与error_info
  5. 增强Format #25
  6. 修改help—action相关

Alconna 0.7.3:

  1. 优化结构
  2. 增加AlconnaFire的Config, 用来约束AlconnaFire的参数 #27
  3. AlconnaFire现在可以解析子命令, 通过Config传入get_subcommand=True来启用 #26
  4. 更好的parameter-helptext
  5. 新增Args构造方法a = Args.xxx[value, default]
  6. util.chain_filter重新归并到Analyser.handle_message
  7. 增加Force类, 用以标记arg类型不需要进行转换; 或者在key前面加上"#"
  8. 支持传入键值对参数与可变键值对参数, 分别用"@""**""标记
  9. 支持将参数设为可选(即未解析成功时不报错而是跳过), 用"?"标记
  10. Arpamar可以通过XXX.opt.arg1XXX.sub.sub_opt.arg2等方式获取参数值
  11. 修复bug

Alconna 0.7.4 ~ 0.7.4.3

  1. 修复BUG
  2. 加入Alconna.local_args
  3. 增加_key前缀, 用以隐藏参数注解

Alconna 0.7.5

  1. 内部类型改进, MessageChain -> DataCollection #29
  2. 加入ArpamarBehavior, 用以解析后的预处理, 并提供三个预制的behavior: #30
  • set_default: 当某个选项未被输入时, 使用该行为添加一个默认值
  • exclusion: 当指定的两个选项同时出现时报错
  • cool_down: 限制命令调用频率
  1. 加入NodeVisitorHelpFormatter, 并将原先给CommandNode的help生成转移给Formatter #24
  2. 加入AlconnaMessageProxy, 用作对外适配接口

Alconna 0.7.6

  1. 增加对Graia系的原生支持, 位于arclet.alconna.graia; 请用pip install arclet-alconna[graia]获取
  2. header现在可支持非文字类元素与文字混用的解析, 原来的方式请改用元组(非文本元素, 文本)
  3. 增加Alconna/@ 运算符的支持, 作用为重置命名空间
  4. 增加Alconna+ 运算符的支持, 作用为增加选项
  5. Args 可直接传入 str, 即Args["foo":"foo"] -> Args["foo"]
  6. Format中的format slot可以直接写入类型, 如"{name: str}"

Alconna 0.7.7

  1. 加入Argparser风格的HelpFormatter
  2. 加入AlconnaDuplication, 旨在提供更好的解析结果使用
  3. option的name与alias现在会根据长度自动倒换
  4. 修复Bug