nonebot.command.group
CommandGroup(name, *, permission=..., only_to_me=..., privileged=..., shell_like=..., expire_timeout=..., run_timeout=..., session_class=...)
class 说明
命令组,用于声明一组有相同名称前缀的命令。
注: 在 1.8.1 之前,此类文档与实际表现不一致 (issue 242 (opens new window))。
参数
name
(str | CommandName_T): 命令名前缀,若传入字符串,则会自动转换成元组permission
(PermissionPolicy_T | Iterable[PermissionPolicy_T]) 1.9.0+: 对应permission
属性only_to_me
(bool): 对应only_to_me
属性privileged
(bool): 对应privileged
属性shell_like
(bool): 对应shell_like
属性expire_timeout
(datetime.timedelta | None) 1.8.2+: 对应expire_timeout
属性run_timeout
(datetime.timedelta | None) 1.8.2+: 对应expire_timeout
属性session_class
(Type[CommandSession] | None) 1.8.1+: 对应session_class
属性
basename
instance-var 类型: tuple[str]
说明: 命令名前缀。
base_kwargs
instance-var 类型: dict[str, Any]
说明: 此对象初始化时传递的
permission
,only_to_me
,privileged
,shell_like
,expire_timeout
,run_timeout
,session_class
。如果没有传递,则此字典也不存在相应键值。
command(self, name, *, aliases=..., patterns=..., permission=..., only_to_me=..., privileged=..., shell_like=..., expire_timeout=..., run_timeout=..., session_class=...)
method 说明
将函数装饰为命令组中的命令处理器。使用方法和
on_command
装饰器完全相同。参数
name
(str | CommandName_T): 命令名,注册命令处理器时会加上命令组的前缀aliases
(Iterable[str] | str): 和on_command
装饰器含义相同,若不传入则使用命令组默认值,若命令组没有默认值时,则使用on_command
装饰器的默认值patterns
(Patterns_T) 1.8.1+: 同上permission
(PermissionPolicy_T | Iterable[PermissionPolicy_T]) 1.9.0+: 同上only_to_me
(bool): 同上privileged
(bool): 同上shell_like
(bool): 同上expire_timeout
(datetime.timedelta | None) 1.8.2+: 同上run_timeout
(datetime.timedelta | None) 1.8.2+: 同上session_class
(Type[CommandSession] | None) 1.8.1+: 同上
返回
- (CommandHandler_T) -> CommandHandler_T: 装饰器闭包
用法
sched = CommandGroup('scheduler') @sched.command('add', permission=PRIVATE) async def _(session: CommandSession): pass
1
2
3
4
5注册
('scheduler', 'add')
命令。