7.4 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, validate=False)
-
说明: 子依赖装饰器
-
参数
-
dependency
(T_Handler | None): 依赖函数。默认为参数的类型注释。 -
use_cache
(bool): 是否使用缓存。默认为True
。 -
validate
(bool | PydanticFieldInfo): 是否使用 Pydantic 类型校验。默认为False
。
-
-
返回
- 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(*args, key, type, **kwargs)
-
说明
Arg 注入参数
本注入解析事件响应器操作
got
所获取的参数。可以通过
Arg
、ArgStr
、ArgPlainText
等函数参数key
指定获取的参数, 留空则会根据参数名称获取。 -
参数
-
*args
-
key
(str) -
type
(Literal['message', 'str', 'plaintext']) -
**kwargs
(Any)
-
class BotParam(*args, checker=None, **kwargs)
-
说明
注入参数。
本注入解析所有类型为且仅为 Bot 及其子类或
None
的参数。为保证兼容性,本注入还会解析名为
bot
且没有类型注解的参数。 -
参数
-
*args
-
checker
(ModelField | None) -
**kwargs
(Any)
-
class EventParam(*args, checker=None, **kwargs)
-
说明
注入参数
本注入解析所有类型为且仅为 Event 及其子类或
None
的参数。为保证兼容性,本注入还会解析名为
event
且没有类型注解的参数。 -
参数
-
*args
-
checker
(ModelField | None) -
**kwargs
(Any)
-
class StateParam(*args, validate=False, **kwargs)
-
说明
事件处理状态注入参数
本注入解析所有类型为
T_State
的参数。为保证兼容性,本注入还会解析名为
state
且没有类型注解的参数。 -
参数
-
*args
-
validate
(bool) -
**kwargs
(Any)
-
class DependParam(*args, dependent, use_cache, **kwargs)
-
说明
子依赖注入参数。
本注入解析所有子依赖注入,然后将它们的返回值作为参数值传递给父依赖。
本注入应该具有最高优先级,因此应该在其他参数之前检查。
-
参数
-
*args
-
dependent
(Dependent) -
use_cache
(bool) -
**kwargs
(Any)
-
def ArgPlainText(key=None)
-
说明: Arg 参数消息纯文本
-
参数
key
(str | None)
-
返回
- str
class DefaultParam(*args, validate=False, **kwargs)
-
说明
默认值注入参数
本注入解析所有剩余未能解析且具有默认值的参数。
本注入参数应该具有最低优先级,因此应该在所有其他注入参数之后使用。
-
参数
-
*args
-
validate
(bool) -
**kwargs
(Any)
-
class MatcherParam(*args, checker=None, **kwargs)
-
说明
事件响应器实例注入参数
本注入解析所有类型为且仅为 Matcher 及其子类或
None
的参数。为保证兼容性,本注入还会解析名为
matcher
且没有类型注解的参数。 -
参数
-
*args
-
checker
(ModelField | None) -
**kwargs
(Any)
-
class ExceptionParam(*args, validate=False, **kwargs)
-
说明
的异常注入参数
本注入解析所有类型为
Exception
或None
的参数。为保证兼容性,本注入还会解析名为
exception
且没有类型注解的参数。 -
参数
-
*args
-
validate
(bool) -
**kwargs
(Any)
-
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(*groups)
-
说明: 正则匹配结果文本
-
重载
1.
(__group=0) -> str
-
参数
__group
(Literal[0])
-
返回
- str
2.
(__group) -> str | Any
-
参数
__group
(str | int)
-
返回
- str | Any
3.
(__group1, __group2, *groups) -> tuple[str | Any, ...]
-
参数
-
__group1
(str | int) -
__group2
(str | int) -
*groups
(str | int)
-
-
返回
- tuple[str | Any, ...]
-
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