注册一个新的 `shell_like` 命令。新参数将会覆盖命令组默认值 参数: cmd: 指定命令内容 rule: 事件响应规则 aliases: 命令别名 parser: `nonebot.rule.ArgumentParser` 对象 permission: 事件响应权限 handlers: 事件处理函数列表 temp: 是否为临时事件响应器(仅执行一次) expire_time:
(self, cmd: str | tuple[str, ...], **kwargs)
| 516 | return matcher |
| 517 | |
| 518 | def shell_command(self, cmd: str | tuple[str, ...], **kwargs) -> type[Matcher]: |
| 519 | """注册一个新的 `shell_like` 命令。新参数将会覆盖命令组默认值 |
| 520 | |
| 521 | 参数: |
| 522 | cmd: 指定命令内容 |
| 523 | rule: 事件响应规则 |
| 524 | aliases: 命令别名 |
| 525 | parser: `nonebot.rule.ArgumentParser` 对象 |
| 526 | permission: 事件响应权限 |
| 527 | handlers: 事件处理函数列表 |
| 528 | temp: 是否为临时事件响应器(仅执行一次) |
| 529 | expire_time: 事件响应器最终有效时间点,过时即被删除 |
| 530 | priority: 事件响应器优先级 |
| 531 | block: 是否阻止事件向更低优先级传递 |
| 532 | state: 默认 state |
| 533 | """ |
| 534 | sub_cmd = (cmd,) if isinstance(cmd, str) else cmd |
| 535 | cmd = self.basecmd + sub_cmd |
| 536 | if self.prefix_aliases and (aliases := kwargs.get("aliases")): |
| 537 | kwargs["aliases"] = { |
| 538 | self.basecmd + ((alias,) if isinstance(alias, str) else alias) |
| 539 | for alias in aliases |
| 540 | } |
| 541 | matcher = on_shell_command(cmd, **self._get_final_kwargs(kwargs)) |
| 542 | self.matchers.append(matcher) |
| 543 | return matcher |
| 544 | |
| 545 | |
| 546 | class MatcherGroup(_Group): |
no test coverage detected