nonebot2/website/versioned_docs/version-2.0.1/api/params.md
noneflow[bot] f2b0b1752b 🔖 Release 2.0.1
2023-07-23 08:24:19 +00:00

6.1 KiB

sidebar_position description
4 nonebot.params 模块

nonebot.params

本模块定义了依赖注入的各类参数。

def Arg(key=None)

  • 说明: Arg 参数消息

  • 参数

    • key (str | None)
  • 返回

    • Any

def ArgStr(key=None)

  • 说明: Arg 参数消息文本

  • 参数

    • key (str | None)
  • 返回

    • str

def Depends(dependency=None, *, use_cache=True)

  • 说明: 子依赖装饰器

  • 参数

    • dependency (T_Handler | None): 依赖函数。默认为参数的类型注释。

    • use_cache (bool): 是否使用缓存。默认为 True

  • 返回

    • Any
  • 用法

    def depend_func() -> Any:
        return ...
    
    def depend_gen_func():
        try:
            yield ...
        finally:
            ...
    
    async def handler(
        param_name: Any = Depends(depend_func),
        gen: Any = Depends(depend_gen_func),
    ):
        ...
    

class ArgParam(<auto>)

  • 说明

    Arg 注入参数

    本注入解析事件响应器操作 got 所获取的参数。

    可以通过 ArgArgStrArgPlainText 等函数参数 key 指定获取的参数, 留空则会根据参数名称获取。

  • 参数

    auto

class BotParam(<auto>)

  • 说明

    注入参数。

    本注入解析所有类型为且仅为 Bot 及其子类或 None 的参数。

    为保证兼容性,本注入还会解析名为 bot 且没有类型注解的参数。

  • 参数

    auto

class EventParam(<auto>)

  • 说明

    注入参数

    本注入解析所有类型为且仅为 Event 及其子类或 None 的参数。

    为保证兼容性,本注入还会解析名为 event 且没有类型注解的参数。

  • 参数

    auto

class StateParam(<auto>)

  • 说明

    事件处理状态注入参数

    本注入解析所有类型为 T_State 的参数。

    为保证兼容性,本注入还会解析名为 state 且没有类型注解的参数。

  • 参数

    auto

class DependParam(<auto>)

  • 说明

    子依赖注入参数。

    本注入解析所有子依赖注入,然后将它们的返回值作为参数值传递给父依赖。

    本注入应该具有最高优先级,因此应该在其他参数之前检查。

  • 参数

    auto

def ArgPlainText(key=None)

  • 说明: Arg 参数消息纯文本

  • 参数

    • key (str | None)
  • 返回

    • str

class DefaultParam(<auto>)

  • 说明

    默认值注入参数

    本注入解析所有剩余未能解析且具有默认值的参数。

    本注入参数应该具有最低优先级,因此应该在所有其他注入参数之后使用。

  • 参数

    auto

class MatcherParam(<auto>)

  • 说明

    事件响应器实例注入参数

    本注入解析所有类型为且仅为 Matcher 及其子类或 None 的参数。

    为保证兼容性,本注入还会解析名为 matcher 且没有类型注解的参数。

  • 参数

    auto

class ExceptionParam(<auto>)

  • 说明

    的异常注入参数

    本注入解析所有类型为 ExceptionNone 的参数。

    为保证兼容性,本注入还会解析名为 exception 且没有类型注解的参数。

  • 参数

    auto

def EventType()

  • 说明: 类型参数

  • 参数

    empty

  • 返回

    • str

def EventMessage()

  • 说明: 消息参数

  • 参数

    empty

  • 返回

    • Any

def EventPlainText()

  • 说明: 纯文本消息参数

  • 参数

    empty

  • 返回

    • str

def EventToMe()

  • 说明: to_me 参数

  • 参数

    empty

  • 返回

    • bool

def Command()

  • 说明: 消息命令元组

  • 参数

    empty

  • 返回

    • tuple[str, ...]

def RawCommand()

  • 说明: 消息命令文本

  • 参数

    empty

  • 返回

    • str

def CommandArg()

  • 说明: 消息命令参数

  • 参数

    empty

  • 返回

    • Any

def CommandStart()

  • 说明: 消息命令开头

  • 参数

    empty

  • 返回

    • str

def CommandWhitespace()

  • 说明: 消息命令与参数之间的空白

  • 参数

    empty

  • 返回

    • str

def ShellCommandArgs()

  • 说明: shell 命令解析后的参数字典

  • 参数

    empty

  • 返回

    • Any

def ShellCommandArgv()

  • 说明: shell 命令原始参数列表

  • 参数

    empty

  • 返回

    • Any

def RegexMatched()

  • 说明: 正则匹配结果

  • 参数

    empty

  • 返回

    • Match[str]

def RegexStr()

  • 说明: 正则匹配结果文本

  • 参数

    empty

  • 返回

    • str

def RegexGroup()

  • 说明: 正则匹配结果 group 元组

  • 参数

    empty

  • 返回

    • tuple[Any, ...]

def RegexDict()

  • 说明: 正则匹配结果 group 字典

  • 参数

    empty

  • 返回

    • dict[str, Any]

def Startswith()

  • 说明: 响应触发前缀

  • 参数

    empty

  • 返回

    • str

def Endswith()

  • 说明: 响应触发后缀

  • 参数

    empty

  • 返回

    • str

def Fullmatch()

  • 说明: 响应触发完整消息

  • 参数

    empty

  • 返回

    • str

def Keyword()

  • 说明: 响应触发关键字

  • 参数

    empty

  • 返回

    • str

def Received(id=None, default=None)

  • 说明: receive 事件参数

  • 参数

    • id (str | None)

    • default (Any)

  • 返回

    • Any

def LastReceived(default=None)

  • 说明: last_receive 事件参数

  • 参数

    • default (Any)
  • 返回

    • Any