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