Alconna Arpamar - RF-Tar-Railt/Cesloi GitHub Wiki
Arpamar
Alconna
会将解析的结果包装为一个Arpamar
返回,你可以通过Arpamar
获取解析成功的值
通过如下方式来使用Arpamar
:
Arpamar.main_args
: 当Alconna
写入了main_args
时,该参数返回对应的解析出来的值Arpamar.header
: 当Alconna
的command
内写有正则表达式时,该参数返回对应的匹配值; 若未写, 返回命令头是否匹配成功Arpamar.all_matched_args
: 返回Alconna
中所有Args
解析到的值Arpamar.option_args
: 返回Alconna
中所有Option
与Subcommand
里的Args
解析到的值Arpamar.has
: 判断 Arpamar 内是否有对应的属性Arpamar.get
: 返回 Arpamar 中指定的属性Arpamar.matched
: 返回命令是否匹配成功Arpamar.error_data
: 当匹配失败时,该参数为剩余未解析的参数
另外, 可直接通过Arpamar.xxx
来获取 xxx
属性
>>> alc = Alconna(
... command="test",
... options=[
... Option("name", Args["pak":str]),
... Option("foo", Args["bar":bool:True])
... ]
... )
>>> msg = MessageChain.create("test name ces foo False")
>>> result = alc.analyse_message(msg)
>>> result.pak
'ces'
>>> result.bat
False