MCPcopy
hub / github.com/nonebot/nonebot2 / on_shell_command

Function on_shell_command

nonebot/plugin/on.py:350–384  ·  view source on GitHub ↗

注册一个支持 `shell_like` 解析参数的命令消息事件响应器。 与普通的 `on_command` 不同的是,在添加 `parser` 参数时, 响应器会自动处理消息。 可以通过 {ref}`nonebot.params.ShellCommandArgv` 获取原始参数列表, 通过 {ref}`nonebot.params.ShellCommandArgs` 获取解析后的参数字典。 参数: cmd: 指定命令内容 rule: 事件响应规则 aliases: 命令别名 parser: `

(
    cmd: str | tuple[str, ...],
    rule: Rule | T_RuleChecker | None = None,
    aliases: set[str | tuple[str, ...]] | None = None,
    parser: ArgumentParser | None = None,
    _depth: int = 0,
    **kwargs,
)

Source from the content-addressed store, hash-verified

348
349
350def on_shell_command(
351 cmd: str | tuple[str, ...],
352 rule: Rule | T_RuleChecker | None = None,
353 aliases: set[str | tuple[str, ...]] | None = None,
354 parser: ArgumentParser | None = None,
355 _depth: int = 0,
356 **kwargs,
357) -> type[Matcher]:
358 """注册一个支持 `shell_like` 解析参数的命令消息事件响应器。
359
360 与普通的 `on_command` 不同的是,在添加 `parser` 参数时, 响应器会自动处理消息。
361
362 可以通过 {ref}`nonebot.params.ShellCommandArgv` 获取原始参数列表,
363 通过 {ref}`nonebot.params.ShellCommandArgs` 获取解析后的参数字典。
364
365 参数:
366 cmd: 指定命令内容
367 rule: 事件响应规则
368 aliases: 命令别名
369 parser: `nonebot.rule.ArgumentParser` 对象
370 permission: 事件响应权限
371 handlers: 事件处理函数列表
372 temp: 是否为临时事件响应器(仅执行一次)
373 expire_time: 事件响应器最终有效时间点,过时即被删除
374 priority: 事件响应器优先级
375 block: 是否阻止事件向更低优先级传递
376 state: 默认 state
377 """
378
379 commands = {cmd} | (aliases or set())
380 return on_message(
381 shell_command(*commands, parser=parser) & rule,
382 **kwargs,
383 _depth=_depth + 1,
384 )
385
386
387def on_regex(

Callers 3

matchers.pyFile · 0.90
shell_commandMethod · 0.85
on_shell_commandMethod · 0.85

Calls 2

shell_commandFunction · 0.90
on_messageFunction · 0.85

Tested by

no test coverage detected