注册一个新的命令。新参数将会覆盖命令组默认值 参数: cmd: 指定命令内容 aliases: 命令别名 force_whitespace: 是否强制命令后必须有指定空白符 rule: 事件响应规则 permission: 事件响应权限 handlers: 事件处理函数列表 temp: 是否为临时事件响应器(仅执行一次) expire_time: 事件响应器最终有效时间点,过时即被删除
(self, cmd: str | tuple[str, ...], **kwargs)
| 489 | return f"CommandGroup(cmd={self.basecmd}, matchers={len(self.matchers)})" |
| 490 | |
| 491 | def command(self, cmd: str | tuple[str, ...], **kwargs) -> type[Matcher]: |
| 492 | """注册一个新的命令。新参数将会覆盖命令组默认值 |
| 493 | |
| 494 | 参数: |
| 495 | cmd: 指定命令内容 |
| 496 | aliases: 命令别名 |
| 497 | force_whitespace: 是否强制命令后必须有指定空白符 |
| 498 | rule: 事件响应规则 |
| 499 | permission: 事件响应权限 |
| 500 | handlers: 事件处理函数列表 |
| 501 | temp: 是否为临时事件响应器(仅执行一次) |
| 502 | expire_time: 事件响应器最终有效时间点,过时即被删除 |
| 503 | priority: 事件响应器优先级 |
| 504 | block: 是否阻止事件向更低优先级传递 |
| 505 | state: 默认 state |
| 506 | """ |
| 507 | sub_cmd = (cmd,) if isinstance(cmd, str) else cmd |
| 508 | cmd = self.basecmd + sub_cmd |
| 509 | if self.prefix_aliases and (aliases := kwargs.get("aliases")): |
| 510 | kwargs["aliases"] = { |
| 511 | self.basecmd + ((alias,) if isinstance(alias, str) else alias) |
| 512 | for alias in aliases |
| 513 | } |
| 514 | matcher = on_command(cmd, **self._get_final_kwargs(kwargs)) |
| 515 | self.matchers.append(matcher) |
| 516 | return matcher |
| 517 | |
| 518 | def shell_command(self, cmd: str | tuple[str, ...], **kwargs) -> type[Matcher]: |
| 519 | """注册一个新的 `shell_like` 命令。新参数将会覆盖命令组默认值 |
no test coverage detected