Skip to content

Commit

Permalink
✏️ fix
Browse files Browse the repository at this point in the history
  • Loading branch information
RF-Tar-Railt committed Nov 6, 2023
1 parent 4d92307 commit ff58273
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 24 deletions.
2 changes: 1 addition & 1 deletion website/docs/best-practice/alconna/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem';

[`nonebot-plugin-alconna`](https://github.com/nonebot/plugin-alconna) 是一类提供了拓展响应规则的插件。
该插件使用 [Alconna](https://github.com/ArcletProject/Alconna) 作为命令解析器,
是一个简单、灵活、高效的命令参数解析器, 并且不局限于解析命令式字符串。
是一个简单、灵活、高效的命令参数解析器并且不局限于解析命令式字符串。

该插件提供了一类新的事件响应器辅助函数 `on_alconna`,以及 `AlconnaResult` 等依赖注入函数。

Expand Down
28 changes: 14 additions & 14 deletions website/docs/best-practice/alconna/command.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Alconna 基本介绍
# Alconna 命令解析

[Alconna](https://github.com/ArcletProject/Alconna) 作为命令解析器,
是一个简单、灵活、高效的命令参数解析器, 并且不局限于解析命令式字符串。
是一个简单、灵活、高效的命令参数解析器并且不局限于解析命令式字符串。

特点包括:

Expand All @@ -16,7 +16,7 @@ description: Alconna 基本介绍
- 自定义的帮助信息格式
- 多语言支持
- 易用的快捷命令创建与使用
- 可创建命令补全会话, 以实现多轮连续的补全提示
- 可创建命令补全会话以实现多轮连续的补全提示
- 可嵌套的多级子命令
- 正则匹配支持

Expand Down Expand Up @@ -199,7 +199,7 @@ alc = Alconna(
- `help_text`: 传入该组件的帮助信息
- `dest`: 被指定为解析完成时标注匹配结果的标识符,不传入时默认为选项或子命令的名称 (name)
- `requires`: 一段指定顺序的字符串列表,作为唯一的前置序列与命令嵌套替换
对于命令 `test foo bar baz qux <a:int>` 来讲,因为`foo bar baz` 仅需要判断是否相等, 所以可以这么编写:
对于命令 `test foo bar baz qux <a:int>` 来讲,因为`foo bar baz` 仅需要判断是否相等所以可以这么编写:

```python
Alconna("test", Option("qux", Args["a", int], requires=["foo", "bar", "baz"]))
Expand Down Expand Up @@ -347,7 +347,7 @@ args = Args["foo", BasePattern("@\d+")]

### 紧凑命令

`Alconna`, `Option` 可以设置 `compact=True` 使得解析命令时允许名称与后随参数之间没有分隔:
`Alconna``Option` 可以设置 `compact=True` 使得解析命令时允许名称与后随参数之间没有分隔:

```python
from arclet.alconna import Alconna, Option, CommandMeta, Args
Expand Down Expand Up @@ -474,14 +474,14 @@ class ShortcutArgs(TypedDict):

- `{%X}`: 如 `setu {%0}`,表示此处必须填入快捷指令后随的第 X 个参数。

例如,若快捷指令为 `涩图`, 配置为 `{"command": "setu {%0}"}`, 则指令 `涩图 1` 相当于 `setu 1`
例如,若快捷指令为 `涩图`配置为 `{"command": "setu {%0}"}`则指令 `涩图 1` 相当于 `setu 1`

- `{*}`: 表示此处填入所有后随参数,并且可以通过 `{*X}` 的方式指定组合参数之间的分隔符。
- `{X}`: 表示此处填入可能的正则匹配的组:
-`command` 中存在匹配组 `(xxx)`,则 `{X}` 表示第 X 个匹配组的内容
-`command` 中存储匹配组 `(?P<xxx>...)`, `{X}` 表示名字为 X 的匹配结果
-`command` 中存储匹配组 `(?P<xxx>...)``{X}` 表示名字为 X 的匹配结果

除此之外, 通过内置选项 `--shortcut` 可以动态操作快捷指令。
除此之外通过内置选项 `--shortcut` 可以动态操作快捷指令。

例如:

Expand Down Expand Up @@ -528,17 +528,17 @@ alc.parse("test_fuzy")

`path` 支持如下:

- `main_args`, `options`, ...: 返回对应的属性
- `main_args``options`...: 返回对应的属性
- `args`: 返回 all_matched_args
- `main_args.xxx`, `options.xxx`, ...: 返回字典中 `xxx`键对应的值
- `main_args.xxx``options.xxx`...: 返回字典中 `xxx`键对应的值
- `args.xxx`: 返回 all_matched_args 中 `xxx`键对应的值
- `options.foo`, `foo`: 返回选项 `foo` 的解析结果 (OptionResult)
- `options.foo.value`, `foo.value`: 返回选项 `foo` 的解析值
- `options.foo.args`, `foo.args`: 返回选项 `foo` 的解析参数字典
- `options.foo.args.bar`, `foo.bar`: 返回选项 `foo` 的参数字典中 `bar` 键对应的值
- `options.foo``foo`: 返回选项 `foo` 的解析结果 (OptionResult)
- `options.foo.value``foo.value`: 返回选项 `foo` 的解析值
- `options.foo.args``foo.args`: 返回选项 `foo` 的解析参数字典
- `options.foo.args.bar``foo.bar`: 返回选项 `foo` 的参数字典中 `bar` 键对应的值
...

同样, `Arparma["foo.bar"]` 的表现与 `query()` 一致
同样`Arparma["foo.bar"]` 的表现与 `query()` 一致

## Duplication

Expand Down
4 changes: 2 additions & 2 deletions website/docs/best-practice/alconna/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ description: 配置项
- **类型**: `bool`
- **默认值**: `False`

是否全局使用原始消息 (即未经过 to_me 等处理的), 该选项会影响到 Alconna 的匹配行为。
是否全局使用原始消息 (即未经过 to_me 等处理的)该选项会影响到 Alconna 的匹配行为。

## alconna_use_command_sep

Expand All @@ -45,4 +45,4 @@ description: 配置项
- **类型**: `List[str]`
- **默认值**: `[]`

全局加载的扩展, 路径以 . 分隔, 如 foo.bar.baz:DemoExtension
全局加载的扩展路径以 . 分隔,如 `foo.bar.baz:DemoExtension`
10 changes: 5 additions & 5 deletions website/docs/best-practice/alconna/matcher.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ async def _(result: Arparma):
- `command: Alconna | str`: Alconna 命令
- `skip_for_unmatch: bool = True`: 是否在命令不匹配时跳过该响应
- `auto_send_output: bool = False`: 是否自动发送输出信息并跳过响应
- `aliases: set[str | tuple[str, ...]] | None = None`: 命令别名, 作用类似于 `on_command` 中的 aliases
- `comp_config: CompConfig | None = None`: 补全会话配置, 不传入则不启用补全会话
- `extensions: list[type[Extension] | Extension] | None = None`: 需要加载的匹配扩展, 可以是扩展类或扩展实例
- `exclude_ext: list[type[Extension] | str] | None = None`: 需要排除的匹配扩展, 可以是扩展类或扩展的id
- `aliases: set[str | tuple[str, ...]] | None = None`: 命令别名,作用类似于 `on_command` 中的 aliases
- `comp_config: CompConfig | None = None`: 补全会话配置,不传入则不启用补全会话
- `extensions: list[type[Extension] | Extension] | None = None`: 需要加载的匹配扩展可以是扩展类或扩展实例
- `exclude_ext: list[type[Extension] | str] | None = None`: 需要排除的匹配扩展可以是扩展类或扩展的id
- `use_origin: bool = False`: 是否使用未经 to_me 等处理过的消息
- `use_cmd_start: bool = False`: 是否使用 COMMAND_START 作为命令前缀
- `use_cmd_sep: bool = False`: 是否使用 COMMAND_SEP 作为命令分隔符
Expand Down Expand Up @@ -274,7 +274,7 @@ async def tt(target: Union[str, At]):
await test_cmd.send(UniMessage(["ok\n", target]))
```

`got_path``assign`, `Match`, `Query` 等地方一样,都需要指明 `path` 参数 (即对应 Arg 验证的路径)
`got_path``assign``Match``Query` 等地方一样,都需要指明 `path` 参数 (即对应 Arg 验证的路径)

`got_path` 会获取消息的最后一个消息段并转为 path 对应的类型,例如示例中 `target` 对应的 Arg 里要求 str 或 At,则 got 后用户输入的消息只有为 text 或 at 才能进入处理函数。

Expand Down
2 changes: 1 addition & 1 deletion website/docs/best-practice/alconna/uniseg.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ async def tt():

## 消息发送

前面提到, 通用消息可用 `UniMessage.send` 发送自身:
前面提到通用消息可用 `UniMessage.send` 发送自身:

```python
async def send(
Expand Down
2 changes: 1 addition & 1 deletion website/docs/best-practice/alconna/utils.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: 杂项

## 特殊装饰器

`nonebot_plugin_alconna` 提供 了一个 `funcommand` 装饰器, 其用于将一个接受任意参数,
`nonebot_plugin_alconna` 提供 了一个 `funcommand` 装饰器其用于将一个接受任意参数,
返回 `str``Message``MessageSegment` 的函数转换为命令响应器。

```python
Expand Down

0 comments on commit ff58273

Please sign in to comment.