mirror of
				https://github.com/nonebot/nonebot2.git
				synced 2025-10-30 22:46:40 +00:00 
			
		
		
		
	🔖 Release 2.3.1
This commit is contained in:
		| @@ -0,0 +1,3 @@ | ||||
| { | ||||
|   "position": 12 | ||||
| } | ||||
							
								
								
									
										109
									
								
								website/versioned_docs/version-2.3.1/api/plugin/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								website/versioned_docs/version-2.3.1/api/plugin/index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,109 @@ | ||||
| --- | ||||
| sidebar_position: 0 | ||||
| description: nonebot.plugin 模块 | ||||
| --- | ||||
|  | ||||
| # nonebot.plugin | ||||
|  | ||||
| 本模块为 NoneBot 插件开发提供便携的定义函数。 | ||||
|  | ||||
| ## 快捷导入 | ||||
|  | ||||
| 为方便使用,本模块从子模块导入了部分内容,以下内容可以直接通过本模块导入: | ||||
|  | ||||
| - `on` => [`on`](on.md#on) | ||||
| - `on_metaevent` => [`on_metaevent`](on.md#on-metaevent) | ||||
| - `on_message` => [`on_message`](on.md#on-message) | ||||
| - `on_notice` => [`on_notice`](on.md#on-notice) | ||||
| - `on_request` => [`on_request`](on.md#on-request) | ||||
| - `on_startswith` => [`on_startswith`](on.md#on-startswith) | ||||
| - `on_endswith` => [`on_endswith`](on.md#on-endswith) | ||||
| - `on_fullmatch` => [`on_fullmatch`](on.md#on-fullmatch) | ||||
| - `on_keyword` => [`on_keyword`](on.md#on-keyword) | ||||
| - `on_command` => [`on_command`](on.md#on-command) | ||||
| - `on_shell_command` => [`on_shell_command`](on.md#on-shell-command) | ||||
| - `on_regex` => [`on_regex`](on.md#on-regex) | ||||
| - `on_type` => [`on_type`](on.md#on-type) | ||||
| - `CommandGroup` => [`CommandGroup`](on.md#CommandGroup) | ||||
| - `Matchergroup` => [`MatcherGroup`](on.md#MatcherGroup) | ||||
| - `load_plugin` => [`load_plugin`](load.md#load-plugin) | ||||
| - `load_plugins` => [`load_plugins`](load.md#load-plugins) | ||||
| - `load_all_plugins` => [`load_all_plugins`](load.md#load-all-plugins) | ||||
| - `load_from_json` => [`load_from_json`](load.md#load-from-json) | ||||
| - `load_from_toml` => [`load_from_toml`](load.md#load-from-toml) | ||||
| - `load_builtin_plugin` => | ||||
|   [`load_builtin_plugin`](load.md#load-builtin-plugin) | ||||
| - `load_builtin_plugins` => | ||||
|   [`load_builtin_plugins`](load.md#load-builtin-plugins) | ||||
| - `require` => [`require`](load.md#require) | ||||
| - `PluginMetadata` => [`PluginMetadata`](model.md#PluginMetadata) | ||||
|  | ||||
| ## _def_ `get_plugin(plugin_id)` {#get-plugin} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   获取已经导入的某个插件。 | ||||
|  | ||||
|   如果为 `load_plugins` 文件夹导入的插件,则为文件(夹)名。 | ||||
|  | ||||
|   如果为嵌套的子插件,标识符为 `父插件标识符:子插件文件(夹)名`。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `plugin_id` (str): 插件标识符,即 [Plugin.id\_](model.md#Plugin-id-)。 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - [Plugin](model.md#Plugin) | None | ||||
|  | ||||
| ## _def_ `get_plugin_by_module_name(module_name)` {#get-plugin-by-module-name} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   通过模块名获取已经导入的某个插件。 | ||||
|  | ||||
|   如果提供的模块名为某个插件的子模块,同样会返回该插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `module_name` (str): 模块名,即 [Plugin.module_name](model.md#Plugin-module-name)。 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - [Plugin](model.md#Plugin) | None | ||||
|  | ||||
| ## _def_ `get_loaded_plugins()` {#get-loaded-plugins} | ||||
|  | ||||
| - **说明:** 获取当前已导入的所有插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   empty | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[[Plugin](model.md#Plugin)] | ||||
|  | ||||
| ## _def_ `get_available_plugin_names()` {#get-available-plugin-names} | ||||
|  | ||||
| - **说明:** 获取当前所有可用的插件标识符(包含尚未加载的插件)。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   empty | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[str] | ||||
|  | ||||
| ## _def_ `get_plugin_config(config)` {#get-plugin-config} | ||||
|  | ||||
| - **说明:** 从全局配置获取当前插件需要的配置项。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `config` (type[C]) | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - C | ||||
							
								
								
									
										161
									
								
								website/versioned_docs/version-2.3.1/api/plugin/load.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								website/versioned_docs/version-2.3.1/api/plugin/load.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,161 @@ | ||||
| --- | ||||
| sidebar_position: 1 | ||||
| description: nonebot.plugin.load 模块 | ||||
| --- | ||||
|  | ||||
| # nonebot.plugin.load | ||||
|  | ||||
| 本模块定义插件加载接口。 | ||||
|  | ||||
| ## _def_ `load_plugin(module_path)` {#load-plugin} | ||||
|  | ||||
| - **说明:** 加载单个插件,可以是本地插件或是通过 `pip` 安装的插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `module_path` (str | Path): 插件名称 `path.to.your.plugin` 或插件路径 `pathlib.Path(path/to/your/plugin)` | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - [Plugin](model.md#Plugin) | None | ||||
|  | ||||
| ## _def_ `load_plugins(*plugin_dir)` {#load-plugins} | ||||
|  | ||||
| - **说明:** 导入文件夹下多个插件,以 `_` 开头的插件不会被导入! | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `*plugin_dir` (str): 文件夹路径 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[[Plugin](model.md#Plugin)] | ||||
|  | ||||
| ## _def_ `load_all_plugins(module_path, plugin_dir)` {#load-all-plugins} | ||||
|  | ||||
| - **说明:** 导入指定列表中的插件以及指定目录下多个插件,以 `_` 开头的插件不会被导入! | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `module_path` (Iterable[str]): 指定插件集合 | ||||
|  | ||||
|   - `plugin_dir` (Iterable[str]): 指定文件夹路径集合 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[[Plugin](model.md#Plugin)] | ||||
|  | ||||
| ## _def_ `load_from_json(file_path, encoding="utf-8")` {#load-from-json} | ||||
|  | ||||
| - **说明:** 导入指定 json 文件中的 `plugins` 以及 `plugin_dirs` 下多个插件。 以 `_` 开头的插件不会被导入! | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `file_path` (str): 指定 json 文件路径 | ||||
|  | ||||
|   - `encoding` (str): 指定 json 文件编码 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[[Plugin](model.md#Plugin)] | ||||
|  | ||||
| - **用法** | ||||
|  | ||||
|   ```json title=plugins.json | ||||
|   { | ||||
|     "plugins": ["some_plugin"], | ||||
|     "plugin_dirs": ["some_dir"] | ||||
|   } | ||||
|   ``` | ||||
|  | ||||
|   ```python | ||||
|   nonebot.load_from_json("plugins.json") | ||||
|   ``` | ||||
|  | ||||
| ## _def_ `load_from_toml(file_path, encoding="utf-8")` {#load-from-toml} | ||||
|  | ||||
| - **说明:** 导入指定 toml 文件 `[tool.nonebot]` 中的 `plugins` 以及 `plugin_dirs` 下多个插件。 以 `_` 开头的插件不会被导入! | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `file_path` (str): 指定 toml 文件路径 | ||||
|  | ||||
|   - `encoding` (str): 指定 toml 文件编码 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[[Plugin](model.md#Plugin)] | ||||
|  | ||||
| - **用法** | ||||
|  | ||||
|   ```toml title=pyproject.toml | ||||
|   [tool.nonebot] | ||||
|   plugins = ["some_plugin"] | ||||
|   plugin_dirs = ["some_dir"] | ||||
|   ``` | ||||
|  | ||||
|   ```python | ||||
|   nonebot.load_from_toml("pyproject.toml") | ||||
|   ``` | ||||
|  | ||||
| ## _def_ `load_builtin_plugin(name)` {#load-builtin-plugin} | ||||
|  | ||||
| - **说明:** 导入 NoneBot 内置插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `name` (str): 插件名称 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - [Plugin](model.md#Plugin) | None | ||||
|  | ||||
| ## _def_ `load_builtin_plugins(*plugins)` {#load-builtin-plugins} | ||||
|  | ||||
| - **说明:** 导入多个 NoneBot 内置插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `*plugins` (str): 插件名称列表 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[[Plugin](model.md#Plugin)] | ||||
|  | ||||
| ## _def_ `require(name)` {#require} | ||||
|  | ||||
| - **说明:** 声明依赖插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `name` (str): 插件模块名或插件标识符,仅在已声明插件的情况下可使用标识符。 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - ModuleType | ||||
|  | ||||
| - **异常** | ||||
|  | ||||
|   - RuntimeError: 插件无法加载 | ||||
|  | ||||
| ## _def_ `inherit_supported_adapters(*names)` {#inherit-supported-adapters} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   获取已加载插件的适配器支持状态集合。 | ||||
|  | ||||
|   如果传入了多个插件名称,返回值会自动取交集。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `*names` (str): 插件名称列表。 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[str] | None | ||||
|  | ||||
| - **异常** | ||||
|  | ||||
|   - RuntimeError: 插件未加载 | ||||
|  | ||||
|   - ValueError: 插件缺少元数据 | ||||
							
								
								
									
										122
									
								
								website/versioned_docs/version-2.3.1/api/plugin/manager.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								website/versioned_docs/version-2.3.1/api/plugin/manager.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,122 @@ | ||||
| --- | ||||
| sidebar_position: 5 | ||||
| description: nonebot.plugin.manager 模块 | ||||
| --- | ||||
|  | ||||
| # nonebot.plugin.manager | ||||
|  | ||||
| 本模块实现插件加载流程。 | ||||
|  | ||||
| 参考: [import hooks](https://docs.python.org/3/reference/import.html#import-hooks), [PEP302](https://www.python.org/dev/peps/pep-0302/) | ||||
|  | ||||
| ## _class_ `PluginManager(plugins=None, search_path=None)` {#PluginManager} | ||||
|  | ||||
| - **说明:** 插件管理器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `plugins` (Iterable[str] | None): 独立插件模块名集合。 | ||||
|  | ||||
|   - `search_path` (Iterable[str] | None): 插件搜索路径(文件夹),相对于当前工作目录。 | ||||
|  | ||||
| ### _property_ `third_party_plugins` {#PluginManager-third-party-plugins} | ||||
|  | ||||
| - **类型:** set[str] | ||||
|  | ||||
| - **说明:** 返回所有独立插件标识符。 | ||||
|  | ||||
| ### _property_ `searched_plugins` {#PluginManager-searched-plugins} | ||||
|  | ||||
| - **类型:** set[str] | ||||
|  | ||||
| - **说明:** 返回已搜索到的插件标识符。 | ||||
|  | ||||
| ### _property_ `available_plugins` {#PluginManager-available-plugins} | ||||
|  | ||||
| - **类型:** set[str] | ||||
|  | ||||
| - **说明:** 返回当前插件管理器中可用的插件标识符。 | ||||
|  | ||||
| ### _property_ `controlled_modules` {#PluginManager-controlled-modules} | ||||
|  | ||||
| - **类型:** dict[str, str] | ||||
|  | ||||
| - **说明:** 返回当前插件管理器中控制的插件标识符与模块路径映射字典。 | ||||
|  | ||||
| ### _method_ `load_plugin(name)` {#PluginManager-load-plugin} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   加载指定插件。 | ||||
|  | ||||
|   可以使用完整插件模块名或者插件标识符加载。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `name` (str): 插件名称或插件标识符。 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - [Plugin](model.md#Plugin) | None | ||||
|  | ||||
| ### _method_ `load_all_plugins()` {#PluginManager-load-all-plugins} | ||||
|  | ||||
| - **说明:** 加载所有可用插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   empty | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[[Plugin](model.md#Plugin)] | ||||
|  | ||||
| ## _class_ `PluginFinder(<auto>)` {#PluginFinder} | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   auto | ||||
|  | ||||
| ### _method_ `find_spec(fullname, path, target=None)` {#PluginFinder-find-spec} | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `fullname` (str) | ||||
|  | ||||
|   - `path` (Sequence[str] | None) | ||||
|  | ||||
|   - `target` (ModuleType | None) | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - untyped | ||||
|  | ||||
| ## _class_ `PluginLoader(manager, fullname, path)` {#PluginLoader} | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `manager` (PluginManager) | ||||
|  | ||||
|   - `fullname` (str) | ||||
|  | ||||
|   - `path` (str) | ||||
|  | ||||
| ### _method_ `create_module(spec)` {#PluginLoader-create-module} | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `spec` | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - ModuleType | None | ||||
|  | ||||
| ### _method_ `exec_module(module)` {#PluginLoader-exec-module} | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `module` (ModuleType) | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - None | ||||
							
								
								
									
										138
									
								
								website/versioned_docs/version-2.3.1/api/plugin/model.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								website/versioned_docs/version-2.3.1/api/plugin/model.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,138 @@ | ||||
| --- | ||||
| sidebar_position: 3 | ||||
| description: nonebot.plugin.model 模块 | ||||
| --- | ||||
|  | ||||
| # nonebot.plugin.model | ||||
|  | ||||
| 本模块定义插件相关信息。 | ||||
|  | ||||
| ## _class_ `PluginMetadata(<auto>)` {#PluginMetadata} | ||||
|  | ||||
| - **说明:** 插件元信息,由插件编写者提供 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   auto | ||||
|  | ||||
| ### _instance-var_ `name` {#PluginMetadata-name} | ||||
|  | ||||
| - **类型:** str | ||||
|  | ||||
| - **说明:** 插件名称 | ||||
|  | ||||
| ### _instance-var_ `description` {#PluginMetadata-description} | ||||
|  | ||||
| - **类型:** str | ||||
|  | ||||
| - **说明:** 插件功能介绍 | ||||
|  | ||||
| ### _instance-var_ `usage` {#PluginMetadata-usage} | ||||
|  | ||||
| - **类型:** str | ||||
|  | ||||
| - **说明:** 插件使用方法 | ||||
|  | ||||
| ### _class-var_ `type` {#PluginMetadata-type} | ||||
|  | ||||
| - **类型:** str | None | ||||
|  | ||||
| - **说明:** 插件类型,用于商店分类 | ||||
|  | ||||
| ### _class-var_ `homepage` {#PluginMetadata-homepage} | ||||
|  | ||||
| - **类型:** str | None | ||||
|  | ||||
| - **说明:** 插件主页 | ||||
|  | ||||
| ### _class-var_ `config` {#PluginMetadata-config} | ||||
|  | ||||
| - **类型:** type[BaseModel] | None | ||||
|  | ||||
| - **说明:** 插件配置项 | ||||
|  | ||||
| ### _class-var_ `supported_adapters` {#PluginMetadata-supported-adapters} | ||||
|  | ||||
| - **类型:** set[str] | None | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   插件支持的适配器模块路径 | ||||
|  | ||||
|   格式为 `<module>[:<Adapter>]`,`~` 为 `nonebot.adapters.` 的缩写。 | ||||
|  | ||||
|   `None` 表示支持**所有适配器**。 | ||||
|  | ||||
| ### _class-var_ `extra` {#PluginMetadata-extra} | ||||
|  | ||||
| - **类型:** dict[Any, Any] | ||||
|  | ||||
| - **说明:** 插件额外信息,可由插件编写者自由扩展定义 | ||||
|  | ||||
| ### _method_ `get_supported_adapters()` {#PluginMetadata-get-supported-adapters} | ||||
|  | ||||
| - **说明:** 获取当前已安装的插件支持适配器类列表 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   empty | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - set[type[[Adapter](../adapters/index.md#Adapter)]] | None | ||||
|  | ||||
| ## _class_ `Plugin(<auto>)` {#Plugin} | ||||
|  | ||||
| - **说明:** 存储插件信息 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   auto | ||||
|  | ||||
| ### _instance-var_ `name` {#Plugin-name} | ||||
|  | ||||
| - **类型:** str | ||||
|  | ||||
| - **说明:** 插件名称,NoneBot 使用 文件/文件夹 名称作为插件名称 | ||||
|  | ||||
| ### _instance-var_ `module` {#Plugin-module} | ||||
|  | ||||
| - **类型:** ModuleType | ||||
|  | ||||
| - **说明:** 插件模块对象 | ||||
|  | ||||
| ### _instance-var_ `module_name` {#Plugin-module-name} | ||||
|  | ||||
| - **类型:** str | ||||
|  | ||||
| - **说明:** 点分割模块路径 | ||||
|  | ||||
| ### _instance-var_ `manager` {#Plugin-manager} | ||||
|  | ||||
| - **类型:** [PluginManager](manager.md#PluginManager) | ||||
|  | ||||
| - **说明:** 导入该插件的插件管理器 | ||||
|  | ||||
| ### _class-var_ `matcher` {#Plugin-matcher} | ||||
|  | ||||
| - **类型:** set[type[[Matcher](../matcher.md#Matcher)]] | ||||
|  | ||||
| - **说明:** 插件加载时定义的 `Matcher` | ||||
|  | ||||
| ### _class-var_ `parent_plugin` {#Plugin-parent-plugin} | ||||
|  | ||||
| - **类型:** Plugin | None | ||||
|  | ||||
| - **说明:** 父插件 | ||||
|  | ||||
| ### _class-var_ `sub_plugins` {#Plugin-sub-plugins} | ||||
|  | ||||
| - **类型:** set[Plugin] | ||||
|  | ||||
| - **说明:** 子插件集合 | ||||
|  | ||||
| ### _property_ `id_` {#Plugin-id-} | ||||
|  | ||||
| - **类型:** str | ||||
|  | ||||
| - **说明:** 插件索引标识 | ||||
							
								
								
									
										948
									
								
								website/versioned_docs/version-2.3.1/api/plugin/on.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										948
									
								
								website/versioned_docs/version-2.3.1/api/plugin/on.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,948 @@ | ||||
| --- | ||||
| sidebar_position: 2 | ||||
| description: nonebot.plugin.on 模块 | ||||
| --- | ||||
|  | ||||
| # nonebot.plugin.on | ||||
|  | ||||
| 本模块定义事件响应器便携定义函数。 | ||||
|  | ||||
| ## _def_ `store_matcher(matcher)` {#store-matcher} | ||||
|  | ||||
| - **说明:** 存储一个事件响应器到插件。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `matcher` (type[[Matcher](../matcher.md#Matcher)]): 事件响应器 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - None | ||||
|  | ||||
| ## _def_ `get_matcher_plugin(depth=...)` {#get-matcher-plugin} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   获取事件响应器定义所在插件。 | ||||
|  | ||||
|   **Deprecated**, 请使用 [get_matcher_source](#get-matcher-source) 获取信息。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `depth` (int): 调用栈深度 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - [Plugin](model.md#Plugin) | None | ||||
|  | ||||
| ## _def_ `get_matcher_module(depth=...)` {#get-matcher-module} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   获取事件响应器定义所在模块。 | ||||
|  | ||||
|   **Deprecated**, 请使用 [get_matcher_source](#get-matcher-source) 获取信息。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `depth` (int): 调用栈深度 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - ModuleType | None | ||||
|  | ||||
| ## _def_ `get_matcher_source(depth=...)` {#get-matcher-source} | ||||
|  | ||||
| - **说明:** 获取事件响应器定义所在源码信息。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `depth` (int): 调用栈深度 | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - MatcherSource | None | ||||
|  | ||||
| ## _def_ `on(type="", rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on} | ||||
|  | ||||
| - **说明:** 注册一个基础事件响应器,可自定义类型。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `type` (str): 事件响应器类型 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_metaevent(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-metaevent} | ||||
|  | ||||
| - **说明:** 注册一个元事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_message(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-message} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_notice(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-notice} | ||||
|  | ||||
| - **说明:** 注册一个通知事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_request(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-request} | ||||
|  | ||||
| - **说明:** 注册一个请求事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_startswith(msg, rule=..., ignorecase=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-startswith} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息的**文本部分**以指定内容开头时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `msg` (str | tuple[str, ...]): 指定消息开头内容 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `ignorecase` (bool): 是否忽略大小写 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_endswith(msg, rule=..., ignorecase=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-endswith} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息的**文本部分**以指定内容结尾时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `msg` (str | tuple[str, ...]): 指定消息结尾内容 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `ignorecase` (bool): 是否忽略大小写 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_fullmatch(msg, rule=..., ignorecase=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-fullmatch} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息的**文本部分**与指定内容完全一致时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `msg` (str | tuple[str, ...]): 指定消息全匹配内容 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `ignorecase` (bool): 是否忽略大小写 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_keyword(keywords, rule=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-keyword} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息纯文本部分包含关键词时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `keywords` (set[str]): 关键词列表 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_command(cmd, rule=..., aliases=..., force_whitespace=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-command} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   注册一个消息事件响应器,并且当消息以指定命令开头时响应。 | ||||
|  | ||||
|   命令匹配规则参考: `命令形式匹配 <rule.md#command-command>`\_ | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `cmd` (str | tuple[str, ...]): 指定命令内容 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `aliases` (set[str | tuple[str, ...]] | None): 命令别名 | ||||
|  | ||||
|   - `force_whitespace` (str | bool | None): 是否强制命令后必须有指定空白符 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_shell_command(cmd, rule=..., aliases=..., parser=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-shell-command} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   注册一个支持 `shell_like` 解析参数的命令消息事件响应器。 | ||||
|  | ||||
|   与普通的 `on_command` 不同的是,在添加 `parser` 参数时, 响应器会自动处理消息。 | ||||
|  | ||||
|   可以通过 [ShellCommandArgv](../params.md#ShellCommandArgv) 获取原始参数列表, | ||||
|   通过 [ShellCommandArgs](../params.md#ShellCommandArgs) 获取解析后的参数字典。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `cmd` (str | tuple[str, ...]): 指定命令内容 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `aliases` (set[str | tuple[str, ...]] | None): 命令别名 | ||||
|  | ||||
|   - `parser` ([ArgumentParser](../rule.md#ArgumentParser) | None): `nonebot.rule.ArgumentParser` 对象 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_regex(pattern, flags=..., rule=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-regex} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   注册一个消息事件响应器,并且当消息匹配正则表达式时响应。 | ||||
|  | ||||
|   命令匹配规则参考: `正则匹配 <rule.md#regex-regex-flags-0>`\_ | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `pattern` (str): 正则表达式 | ||||
|  | ||||
|   - `flags` (int | re.RegexFlag): 正则匹配标志 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _def_ `on_type(types, rule=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#on-type} | ||||
|  | ||||
| - **说明:** 注册一个事件响应器,并且当事件为指定类型时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `types` (type[[Event](../adapters/index.md#Event)] | tuple[type[[Event](../adapters/index.md#Event)], ...]): 事件类型 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _class_ `CommandGroup(cmd, prefix_aliases=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#CommandGroup} | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `cmd` (str | tuple[str, ...]) | ||||
|  | ||||
|   - `prefix_aliases` (bool) | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None) | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None) | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None) | ||||
|  | ||||
|   - `temp` (bool) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None) | ||||
|  | ||||
|   - `priority` (int) | ||||
|  | ||||
|   - `block` (bool) | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None) | ||||
|  | ||||
| ### _method_ `command(cmd, *, rule=..., aliases=..., force_whitespace=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#CommandGroup-command} | ||||
|  | ||||
| - **说明:** 注册一个新的命令。新参数将会覆盖命令组默认值 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `cmd` (str | tuple[str, ...]): 指定命令内容 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `aliases` (set[str | tuple[str, ...]] | None): 命令别名 | ||||
|  | ||||
|   - `force_whitespace` (str | bool | None): 是否强制命令后必须有指定空白符 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `shell_command(cmd, *, rule=..., aliases=..., parser=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#CommandGroup-shell-command} | ||||
|  | ||||
| - **说明:** 注册一个新的 `shell_like` 命令。新参数将会覆盖命令组默认值 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `cmd` (str | tuple[str, ...]): 指定命令内容 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `aliases` (set[str | tuple[str, ...]] | None): 命令别名 | ||||
|  | ||||
|   - `parser` ([ArgumentParser](../rule.md#ArgumentParser) | None): `nonebot.rule.ArgumentParser` 对象 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ## _class_ `MatcherGroup(*, type=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup} | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `type` (str) | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None) | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None) | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None) | ||||
|  | ||||
|   - `temp` (bool) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None) | ||||
|  | ||||
|   - `priority` (int) | ||||
|  | ||||
|   - `block` (bool) | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None) | ||||
|  | ||||
| ### _method_ `on(*, type=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on} | ||||
|  | ||||
| - **说明:** 注册一个基础事件响应器,可自定义类型。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `type` (str): 事件响应器类型 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_metaevent(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-metaevent} | ||||
|  | ||||
| - **说明:** 注册一个元事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_message(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-message} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_notice(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-notice} | ||||
|  | ||||
| - **说明:** 注册一个通知事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_request(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-request} | ||||
|  | ||||
| - **说明:** 注册一个请求事件响应器。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_startswith(msg, *, ignorecase=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-startswith} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息的**文本部分**以指定内容开头时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `msg` (str | tuple[str, ...]): 指定消息开头内容 | ||||
|  | ||||
|   - `ignorecase` (bool): 是否忽略大小写 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_endswith(msg, *, ignorecase=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-endswith} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息的**文本部分**以指定内容结尾时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `msg` (str | tuple[str, ...]): 指定消息结尾内容 | ||||
|  | ||||
|   - `ignorecase` (bool): 是否忽略大小写 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_fullmatch(msg, *, ignorecase=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-fullmatch} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息的**文本部分**与指定内容完全一致时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `msg` (str | tuple[str, ...]): 指定消息全匹配内容 | ||||
|  | ||||
|   - `ignorecase` (bool): 是否忽略大小写 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_keyword(keywords, *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-keyword} | ||||
|  | ||||
| - **说明:** 注册一个消息事件响应器,并且当消息纯文本部分包含关键词时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `keywords` (set[str]): 关键词列表 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_command(cmd, aliases=..., force_whitespace=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-command} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   注册一个消息事件响应器,并且当消息以指定命令开头时响应。 | ||||
|  | ||||
|   命令匹配规则参考: `命令形式匹配 <rule.md#command-command>`\_ | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `cmd` (str | tuple[str, ...]): 指定命令内容 | ||||
|  | ||||
|   - `aliases` (set[str | tuple[str, ...]] | None): 命令别名 | ||||
|  | ||||
|   - `force_whitespace` (str | bool | None): 是否强制命令后必须有指定空白符 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_shell_command(cmd, aliases=..., parser=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-shell-command} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   注册一个支持 `shell_like` 解析参数的命令消息事件响应器。 | ||||
|  | ||||
|   与普通的 `on_command` 不同的是,在添加 `parser` 参数时, 响应器会自动处理消息。 | ||||
|  | ||||
|   可以通过 [ShellCommandArgv](../params.md#ShellCommandArgv) 获取原始参数列表, | ||||
|   通过 [ShellCommandArgs](../params.md#ShellCommandArgs) 获取解析后的参数字典。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `cmd` (str | tuple[str, ...]): 指定命令内容 | ||||
|  | ||||
|   - `aliases` (set[str | tuple[str, ...]] | None): 命令别名 | ||||
|  | ||||
|   - `parser` ([ArgumentParser](../rule.md#ArgumentParser) | None): `nonebot.rule.ArgumentParser` 对象 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_regex(pattern, flags=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-regex} | ||||
|  | ||||
| - **说明** | ||||
|  | ||||
|   注册一个消息事件响应器,并且当消息匹配正则表达式时响应。 | ||||
|  | ||||
|   命令匹配规则参考: `正则匹配 <rule.md#regex-regex-flags-0>`\_ | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `pattern` (str): 正则表达式 | ||||
|  | ||||
|   - `flags` (int | re.RegexFlag): 正则匹配标志 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
|  | ||||
| ### _method_ `on_type(types, *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)` {#MatcherGroup-on-type} | ||||
|  | ||||
| - **说明:** 注册一个事件响应器,并且当事件为指定类型时响应。 | ||||
|  | ||||
| - **参数** | ||||
|  | ||||
|   - `types` (type[[Event](../adapters/index.md#Event)] | tuple[type[[Event](../adapters/index.md#Event)]]): 事件类型 | ||||
|  | ||||
|   - `rule` ([Rule](../rule.md#Rule) | [T_RuleChecker](../typing.md#T-RuleChecker) | None): 事件响应规则 | ||||
|  | ||||
|   - `permission` ([Permission](../permission.md#Permission) | [T_PermissionChecker](../typing.md#T-PermissionChecker) | None): 事件响应权限 | ||||
|  | ||||
|   - `handlers` (list[[T_Handler](../typing.md#T-Handler) | [Dependent](../dependencies/index.md#Dependent)] | None): 事件处理函数列表 | ||||
|  | ||||
|   - `temp` (bool): 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|   - `expire_time` (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除 | ||||
|  | ||||
|   - `priority` (int): 事件响应器优先级 | ||||
|  | ||||
|   - `block` (bool): 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|   - `state` ([T_State](../typing.md#T-State) | None): 默认 state | ||||
|  | ||||
| - **返回** | ||||
|  | ||||
|   - type[[Matcher](../matcher.md#Matcher)] | ||||
		Reference in New Issue
	
	Block a user