mirror of
				https://github.com/nonebot/nonebot2.git
				synced 2025-10-30 22:46:40 +00:00 
			
		
		
		
	📝 update doc version
This commit is contained in:
		| @@ -1,37 +0,0 @@ | ||||
| --- | ||||
| contentSidebar: true | ||||
| sidebarDepth: 0 | ||||
| --- | ||||
|  | ||||
| # NoneBot.drivers 模块 | ||||
|  | ||||
| ## 后端驱动适配基类 | ||||
|  | ||||
| 各驱动请继承以下基类 | ||||
|  | ||||
|  | ||||
| ## _class_ `BaseDriver` | ||||
|  | ||||
| 基类:`abc.ABC` | ||||
|  | ||||
| Driver 基类。将后端框架封装,以满足适配器使用。 | ||||
|  | ||||
|  | ||||
| ### `_adapters` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `Dict[str, Type[Bot]]` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     已注册的适配器列表 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _abstract_ `__init__(env, config)` | ||||
|  | ||||
| Initialize self.  See help(type(self)) for accurate signature. | ||||
| @@ -1,16 +0,0 @@ | ||||
| --- | ||||
| contentSidebar: true | ||||
| sidebarDepth: 0 | ||||
| --- | ||||
|  | ||||
| # NoneBot.drivers.fastapi 模块 | ||||
|  | ||||
|  | ||||
| ## _class_ `Driver` | ||||
|  | ||||
| 基类:[`nonebot.drivers.BaseDriver`](#None) | ||||
|  | ||||
|  | ||||
| ### `__init__(env, config)` | ||||
|  | ||||
| Initialize self.  See help(type(self)) for accurate signature. | ||||
| @@ -10,6 +10,9 @@ | ||||
|     * [nonebot.config](config.html) | ||||
| 
 | ||||
| 
 | ||||
|     * [nonebot.plugin](plugin.html) | ||||
| 
 | ||||
| 
 | ||||
|     * [nonebot.matcher](matcher.html) | ||||
| 
 | ||||
| 
 | ||||
| @@ -405,7 +405,11 @@ CQHTTP 协议 Event 适配。继承属性参考 [BaseEvent](./#class-baseevent) | ||||
| 
 | ||||
| 基类:[`nonebot.adapters.BaseMessageSegment`](#None) | ||||
| 
 | ||||
| CQHTTP 协议 MessageSegment 适配。具体方法参考协议消息段类型或源码。 | ||||
| 
 | ||||
| 
 | ||||
| ## _class_ `Message` | ||||
| 
 | ||||
| 基类:[`nonebot.adapters.BaseMessage`](#None) | ||||
| 
 | ||||
| CQHTTP 协议 Message 适配。 | ||||
							
								
								
									
										246
									
								
								archive/2.0.0a4/api/drivers/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										246
									
								
								archive/2.0.0a4/api/drivers/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,246 @@ | ||||
| --- | ||||
| contentSidebar: true | ||||
| sidebarDepth: 0 | ||||
| --- | ||||
|  | ||||
| # NoneBot.drivers 模块 | ||||
|  | ||||
| ## 后端驱动适配基类 | ||||
|  | ||||
| 各驱动请继承以下基类 | ||||
|  | ||||
|  | ||||
| ## _class_ `BaseDriver` | ||||
|  | ||||
| 基类:`abc.ABC` | ||||
|  | ||||
| Driver 基类。将后端框架封装,以满足适配器使用。 | ||||
|  | ||||
|  | ||||
| ### `_adapters` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `Dict[str, Type[Bot]]` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     已注册的适配器列表 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _abstract_ `__init__(env, config)` | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `env: Env`: 包含环境信息的 Env 对象 | ||||
|  | ||||
|  | ||||
|     * `config: Config`: 包含配置信息的 Config 对象 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### `env` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `str` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     环境名称 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### `config` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `Config` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     配置对象 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### `_clients` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `Dict[str, Bot]` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     已连接的 Bot | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _classmethod_ `register_adapter(name, adapter)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个协议适配器 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `name: str`: 适配器名称,用于在连接时进行识别 | ||||
|  | ||||
|  | ||||
|     * `adapter: Type[Bot]`: 适配器 Class | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _abstract property_ `type` | ||||
|  | ||||
| 驱动类型名称 | ||||
|  | ||||
|  | ||||
| ### _abstract property_ `server_app` | ||||
|  | ||||
| 驱动 APP 对象 | ||||
|  | ||||
|  | ||||
| ### _abstract property_ `asgi` | ||||
|  | ||||
| 驱动 ASGI 对象 | ||||
|  | ||||
|  | ||||
| ### _abstract property_ `logger` | ||||
|  | ||||
| 驱动专属 logger 日志记录器 | ||||
|  | ||||
|  | ||||
| ### _property_ `bots` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `Dict[str, Bot]` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     获取当前所有已连接的 Bot | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _abstract_ `on_startup(func)` | ||||
|  | ||||
| 注册一个在驱动启动时运行的函数 | ||||
|  | ||||
|  | ||||
| ### _abstract_ `on_shutdown(func)` | ||||
|  | ||||
| 注册一个在驱动停止时运行的函数 | ||||
|  | ||||
|  | ||||
| ### _abstract_ `run(host=None, port=None, *args, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     启动驱动框架 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `host: Optional[str]`: 驱动绑定 IP | ||||
|  | ||||
|  | ||||
|     * `post: Optional[int]`: 驱动绑定端口 | ||||
|  | ||||
|  | ||||
|     * `*args` | ||||
|  | ||||
|  | ||||
|     * `**kwargs` | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _abstract async_ `_handle_http()` | ||||
|  | ||||
| 用于处理 HTTP 类型请求的函数 | ||||
|  | ||||
|  | ||||
| ### _abstract async_ `_handle_ws_reverse()` | ||||
|  | ||||
| 用于处理 WebSocket 类型请求的函数 | ||||
|  | ||||
|  | ||||
| ## _class_ `BaseWebSocket` | ||||
|  | ||||
| 基类:`object` | ||||
|  | ||||
| WebSocket 连接封装,统一接口方便外部调用。 | ||||
|  | ||||
|  | ||||
| ### _abstract_ `__init__(websocket)` | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `websocket: Any`: WebSocket 连接对象 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _property_ `websocket` | ||||
|  | ||||
| WebSocket 连接对象 | ||||
|  | ||||
|  | ||||
| ### _abstract property_ `closed` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `bool` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     连接是否已经关闭 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _abstract async_ `accept()` | ||||
|  | ||||
| 接受 WebSocket 连接请求 | ||||
|  | ||||
|  | ||||
| ### _abstract async_ `close(code)` | ||||
|  | ||||
| 关闭 WebSocket 连接请求 | ||||
|  | ||||
|  | ||||
| ### _abstract async_ `receive()` | ||||
|  | ||||
| 接收一条 WebSocket 信息 | ||||
|  | ||||
|  | ||||
| ### _abstract async_ `send(data)` | ||||
|  | ||||
| 发送一条 WebSocket 信息 | ||||
							
								
								
									
										125
									
								
								archive/2.0.0a4/api/drivers/fastapi.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								archive/2.0.0a4/api/drivers/fastapi.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,125 @@ | ||||
| --- | ||||
| contentSidebar: true | ||||
| sidebarDepth: 0 | ||||
| --- | ||||
|  | ||||
| # NoneBot.drivers.fastapi 模块 | ||||
|  | ||||
| ## FastAPI 驱动适配 | ||||
|  | ||||
| 后端使用方法请参考: [FastAPI 文档](https://fastapi.tiangolo.com/) | ||||
|  | ||||
|  | ||||
| ## _class_ `Driver` | ||||
|  | ||||
| 基类:[`nonebot.drivers.BaseDriver`](#None) | ||||
|  | ||||
| FastAPI 驱动框架 | ||||
|  | ||||
|  | ||||
| ### `__init__(env, config)` | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|  | ||||
|  | ||||
| * `env: Env`: 包含环境信息的 Env 对象 | ||||
|  | ||||
|  | ||||
| * `config: Config`: 包含配置信息的 Config 对象 | ||||
|  | ||||
|  | ||||
| ### _property_ `type` | ||||
|  | ||||
| 驱动名称: `fastapi` | ||||
|  | ||||
|  | ||||
| ### _property_ `server_app` | ||||
|  | ||||
| `FastAPI APP` 对象 | ||||
|  | ||||
|  | ||||
| ### _property_ `asgi` | ||||
|  | ||||
| `FastAPI APP` 对象 | ||||
|  | ||||
|  | ||||
| ### _property_ `logger` | ||||
|  | ||||
| fastapi 使用的 logger | ||||
|  | ||||
|  | ||||
| ### `on_startup(func)` | ||||
|  | ||||
| 参考文档: [Events](https://fastapi.tiangolo.com/advanced/events/#startup-event) | ||||
|  | ||||
|  | ||||
| ### `on_shutdown(func)` | ||||
|  | ||||
| 参考文档: [Events](https://fastapi.tiangolo.com/advanced/events/#startup-event) | ||||
|  | ||||
|  | ||||
| ### `run(host=None, port=None, *, app=None, **kwargs)` | ||||
|  | ||||
| 使用 `uvicorn` 启动 FastAPI | ||||
|  | ||||
|  | ||||
| ### _async_ `_handle_http(adapter, data=Body(Ellipsis), x_self_id=Header(None), x_signature=Header(None), auth=Depends(get_auth_bearer))` | ||||
|  | ||||
| 用于处理 HTTP 类型请求的函数 | ||||
|  | ||||
|  | ||||
| ### _async_ `_handle_ws_reverse(adapter, websocket, x_self_id=Header(None), auth=Depends(get_auth_bearer))` | ||||
|  | ||||
| 用于处理 WebSocket 类型请求的函数 | ||||
|  | ||||
|  | ||||
| ## _class_ `WebSocket` | ||||
|  | ||||
| 基类:[`nonebot.drivers.BaseWebSocket`](#None) | ||||
|  | ||||
|  | ||||
| ### `__init__(websocket)` | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|  | ||||
|  | ||||
| * `websocket: Any`: WebSocket 连接对象 | ||||
|  | ||||
|  | ||||
| ### _property_ `closed` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `bool` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     连接是否已经关闭 | ||||
|  | ||||
|  | ||||
|  | ||||
| ### _async_ `accept()` | ||||
|  | ||||
| 接受 WebSocket 连接请求 | ||||
|  | ||||
|  | ||||
| ### _async_ `close(code=1000)` | ||||
|  | ||||
| 关闭 WebSocket 连接请求 | ||||
|  | ||||
|  | ||||
| ### _async_ `receive()` | ||||
|  | ||||
| 接收一条 WebSocket 信息 | ||||
|  | ||||
|  | ||||
| ### _async_ `send(data)` | ||||
|  | ||||
| 发送一条 WebSocket 信息 | ||||
| @@ -377,7 +377,7 @@ sidebarDepth: 0 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### _async classmethod_ `send(message)` | ||||
| ### _async classmethod_ `send(message, **kwargs)` | ||||
| 
 | ||||
| 
 | ||||
| * **说明** | ||||
| @@ -392,8 +392,11 @@ sidebarDepth: 0 | ||||
|     * `message: Union[str, Message, MessageSegment]`: 消息内容 | ||||
| 
 | ||||
| 
 | ||||
|     * `**kwargs`: 其他传递给 `bot.send` 的参数,请参考对应 adapter 的 bot 对象 api | ||||
| 
 | ||||
| ### _async classmethod_ `finish(message=None)` | ||||
| 
 | ||||
| 
 | ||||
| ### _async classmethod_ `finish(message=None, **kwargs)` | ||||
| 
 | ||||
| 
 | ||||
| * **说明** | ||||
| @@ -408,8 +411,11 @@ sidebarDepth: 0 | ||||
|     * `message: Union[str, Message, MessageSegment]`: 消息内容 | ||||
| 
 | ||||
| 
 | ||||
|     * `**kwargs`: 其他传递给 `bot.send` 的参数,请参考对应 adapter 的 bot 对象 api | ||||
| 
 | ||||
| ### _async classmethod_ `pause(prompt=None)` | ||||
| 
 | ||||
| 
 | ||||
| ### _async classmethod_ `pause(prompt=None, **kwargs)` | ||||
| 
 | ||||
| 
 | ||||
| * **说明** | ||||
| @@ -424,8 +430,11 @@ sidebarDepth: 0 | ||||
|     * `prompt: Union[str, Message, MessageSegment]`: 消息内容 | ||||
| 
 | ||||
| 
 | ||||
|     * `**kwargs`: 其他传递给 `bot.send` 的参数,请参考对应 adapter 的 bot 对象 api | ||||
| 
 | ||||
| ### _async classmethod_ `reject(prompt=None)` | ||||
| 
 | ||||
| 
 | ||||
| ### _async classmethod_ `reject(prompt=None, **kwargs)` | ||||
| 
 | ||||
| 
 | ||||
| * **说明** | ||||
| @@ -440,6 +449,9 @@ sidebarDepth: 0 | ||||
|     * `prompt: Union[str, Message, MessageSegment]`: 消息内容 | ||||
| 
 | ||||
| 
 | ||||
|     * `**kwargs`: 其他传递给 `bot.send` 的参数,请参考对应 adapter 的 bot 对象 api | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ## _class_ `MatcherGroup` | ||||
| 
 | ||||
							
								
								
									
										629
									
								
								archive/2.0.0a4/api/plugin.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										629
									
								
								archive/2.0.0a4/api/plugin.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,629 @@ | ||||
| --- | ||||
| contentSidebar: true | ||||
| sidebarDepth: 0 | ||||
| --- | ||||
|  | ||||
| # NoneBot.plugin 模块 | ||||
|  | ||||
| ## 插件 | ||||
|  | ||||
| 为 NoneBot 插件开发提供便携的定义函数。 | ||||
|  | ||||
|  | ||||
| ## `plugins` | ||||
|  | ||||
|  | ||||
| * **类型** | ||||
|  | ||||
|     `Dict[str, Plugin]` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     已加载的插件 | ||||
|  | ||||
|  | ||||
|  | ||||
| ## _class_ `Plugin` | ||||
|  | ||||
| 基类:`object` | ||||
|  | ||||
| 存储插件信息 | ||||
|  | ||||
|  | ||||
| ### `name` | ||||
|  | ||||
|  | ||||
| * **类型**: `str` | ||||
|  | ||||
|  | ||||
| * **说明**: 插件名称,使用 文件/文件夹 名称作为插件名 | ||||
|  | ||||
|  | ||||
| ### `module` | ||||
|  | ||||
|  | ||||
| * **类型**: `ModuleType` | ||||
|  | ||||
|  | ||||
| * **说明**: 插件模块对象 | ||||
|  | ||||
|  | ||||
| ### `matcher` | ||||
|  | ||||
|  | ||||
| * **类型**: `Set[Type[Matcher]]` | ||||
|  | ||||
|  | ||||
| * **说明**: 插件内定义的 `Matcher` | ||||
|  | ||||
|  | ||||
| ## `on(type='', rule=None, permission=None, *, handlers=None, temp=False, priority=1, block=False, state=None)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个基础事件响应器,可自定义类型。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `type: str`: 事件响应器类型 | ||||
|  | ||||
|  | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `permission: Optional[Permission]`: 事件响应权限 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_metaevent(rule=None, *, handlers=None, temp=False, priority=1, block=False, state=None)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个元事件响应器。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_message(rule=None, permission=None, *, handlers=None, temp=False, priority=1, block=True, state=None)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个消息事件响应器。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `permission: Optional[Permission]`: 事件响应权限 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_notice(rule=None, *, handlers=None, temp=False, priority=1, block=False, state=None)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个通知事件响应器。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_request(rule=None, *, handlers=None, temp=False, priority=1, block=False, state=None)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个请求事件响应器。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_startswith(msg, rule=None, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个消息事件响应器,并且当消息的\*\*文本部分\*\*以指定内容开头时响应。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `msg: str`: 指定消息开头内容 | ||||
|  | ||||
|  | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `permission: Optional[Permission]`: 事件响应权限 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_endswith(msg, rule=None, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个消息事件响应器,并且当消息的\*\*文本部分\*\*以指定内容结尾时响应。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `msg: str`: 指定消息结尾内容 | ||||
|  | ||||
|  | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `permission: Optional[Permission]`: 事件响应权限 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_keyword(keywords, rule=None, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个消息事件响应器,并且当消息纯文本部分包含关键词时响应。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `keywords: Set[str]`: 关键词列表 | ||||
|  | ||||
|  | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `permission: Optional[Permission]`: 事件响应权限 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_command(cmd, rule=None, aliases=None, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个消息事件响应器,并且当消息以指定命令开头时响应。 | ||||
|  | ||||
|     命令匹配规则参考: [命令形式匹配](rule.html#command-command) | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `cmd: Union[str, Tuple[str, ...]]`: 指定命令内容 | ||||
|  | ||||
|  | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `aliases: Optional[Set[Union[str, Tuple[str, ...]]]]`: 命令别名 | ||||
|  | ||||
|  | ||||
|     * `permission: Optional[Permission]`: 事件响应权限 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `on_regex(pattern, flags=0, rule=None, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个消息事件响应器,并且当消息匹配正则表达式时响应。 | ||||
|  | ||||
|     命令匹配规则参考: [正则匹配](rule.html#regex-regex-flags-0) | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `pattern: str`: 正则表达式 | ||||
|  | ||||
|  | ||||
|     * `flags: Union[int, re.RegexFlag]`: 正则匹配标志 | ||||
|  | ||||
|  | ||||
|     * `rule: Optional[Union[Rule, RuleChecker]]`: 事件响应规则 | ||||
|  | ||||
|  | ||||
|     * `permission: Optional[Permission]`: 事件响应权限 | ||||
|  | ||||
|  | ||||
|     * `handlers: Optional[List[Handler]]`: 事件处理函数列表 | ||||
|  | ||||
|  | ||||
|     * `temp: bool`: 是否为临时事件响应器(仅执行一次) | ||||
|  | ||||
|  | ||||
|     * `priority: int`: 事件响应器优先级 | ||||
|  | ||||
|  | ||||
|     * `block: bool`: 是否阻止事件向更低优先级传递 | ||||
|  | ||||
|  | ||||
|     * `state: Optional[dict]`: 默认的 state | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## _class_ `CommandGroup` | ||||
|  | ||||
| 基类:`object` | ||||
|  | ||||
| 命令组,用于声明一组有相同名称前缀的命令。 | ||||
|  | ||||
|  | ||||
| ### `__init__(cmd, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `cmd: Union[str, Tuple[str, ...]]`: 命令前缀 | ||||
|  | ||||
|  | ||||
|     * `**kwargs`: 其他传递给 `on_command` 的参数默认值,参考 [on_command](#on-command-cmd-rule-none-aliases-none-kwargs) | ||||
|  | ||||
|  | ||||
|  | ||||
| ### `basecmd` | ||||
|  | ||||
|  | ||||
| * **类型**: `Tuple[str, ...]` | ||||
|  | ||||
|  | ||||
| * **说明**: 命令前缀 | ||||
|  | ||||
|  | ||||
| ### `base_kwargs` | ||||
|  | ||||
|  | ||||
| * **类型**: `Dict[str, Any]` | ||||
|  | ||||
|  | ||||
| * **说明**: 其他传递给 `on_command` 的参数默认值 | ||||
|  | ||||
|  | ||||
| ### `command(cmd, **kwargs)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     注册一个新的命令。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `cmd: Union[str, Tuple[str, ...]]`: 命令前缀 | ||||
|  | ||||
|  | ||||
|     * `**kwargs`: 其他传递给 `on_command` 的参数,将会覆盖命令组默认值 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Type[Matcher]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `load_plugin(module_path)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     使用 `importlib` 加载单个插件,可以是本地插件或是通过 `pip` 安装的插件。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `module_path: str`: 插件名称 `path.to.your.plugin` | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Optional[Plugin]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `load_plugins(*plugin_dir)` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     导入目录下多个插件,以 `_` 开头的插件不会被导入! | ||||
|  | ||||
|  | ||||
|  | ||||
| * **参数** | ||||
|  | ||||
|      | ||||
|     * `*plugin_dir: str`: 插件路径 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Set[Plugin]` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `load_builtin_plugins()` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     导入 NoneBot 内置插件 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Plugin` | ||||
|  | ||||
|  | ||||
|  | ||||
| ## `get_loaded_plugins()` | ||||
|  | ||||
|  | ||||
| * **说明** | ||||
|  | ||||
|     获取当前已导入的插件。 | ||||
|  | ||||
|  | ||||
|  | ||||
| * **返回** | ||||
|  | ||||
|      | ||||
|     * `Set[Plugin]` | ||||
| @@ -123,7 +123,7 @@ Rule(async_function, run_sync(sync_function)) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ## `keyword(msg)` | ||||
| ## `keyword(*keywords)` | ||||
| 
 | ||||
| 
 | ||||
| * **说明** | ||||
| @@ -135,23 +135,25 @@ Rule(async_function, run_sync(sync_function)) | ||||
| * **参数** | ||||
| 
 | ||||
|      | ||||
|     * `msg: str`: 关键词 | ||||
|     * `*keywords: str`: 关键词 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ## `command(command)` | ||||
| ## `command(*cmds)` | ||||
| 
 | ||||
| 
 | ||||
| * **说明** | ||||
| 
 | ||||
|     命令形式匹配,根据配置里提供的 `command_start`, `command_sep` 判断消息是否为命令。 | ||||
| 
 | ||||
|     可以通过 `state["_prefix"]["command"]` 获取匹配成功的命令(例:`("test",)`),通过 `state["_prefix"]["raw_command"]` 获取匹配成功的原始命令文本(例:`"/test"`)。 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| * **参数** | ||||
| 
 | ||||
|      | ||||
|     * `command: Tuples[str, ...]`: 命令内容 | ||||
|     * `*cmds: Union[str, Tuple[str, ...]]`: 命令内容 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @@ -173,7 +175,9 @@ Rule(async_function, run_sync(sync_function)) | ||||
| 
 | ||||
| * **说明** | ||||
| 
 | ||||
|     根据正则表达式进行匹配 | ||||
|     根据正则表达式进行匹配。 | ||||
| 
 | ||||
|     可以通过 `state["_matched"]` 获取正则表达式匹配成功的文本。 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @@ -186,6 +190,10 @@ Rule(async_function, run_sync(sync_function)) | ||||
|     * `flags: Union[int, re.RegexFlag]`: 正则标志 | ||||
| 
 | ||||
| 
 | ||||
| :::tip 提示 | ||||
| 正则表达式匹配使用 search 而非 match,如需从头匹配请使用 `r"^xxx"` 来确保匹配开头 | ||||
| ::: | ||||
| 
 | ||||
| 
 | ||||
| ## `to_me()` | ||||
| 
 | ||||
| @@ -20,6 +20,8 @@ NoneBot2 是一个可扩展的 Python 异步机器人框架,它会对机器人 | ||||
| 
 | ||||
| ## 它如何工作? | ||||
| 
 | ||||
| <!-- TODO: how to work --> | ||||
| 
 | ||||
| ~~未填坑~~ | ||||
| 
 | ||||
| ## 特色 | ||||
| @@ -136,11 +136,11 @@ QQ 协议端举例: | ||||
| 现在,尝试向你的 QQ 机器人账号发送如下内容: | ||||
| 
 | ||||
| ```default | ||||
| /say 你好,世界 | ||||
| /echo 你好,世界 | ||||
| ``` | ||||
| 
 | ||||
| 到这里如果一切 OK,你应该会收到机器人给你回复了 `你好,世界`。这一历史性的对话标志着你已经成功地运行了一个 NoneBot 的最小实例,开始了编写更强大的 QQ 机器人的创意之旅! | ||||
| 
 | ||||
| <ClientOnly> | ||||
|   <Messenger :messages="[{ position: 'right', msg: '/say 你好,世界' }, { position: 'left', msg: '你好,世界' }]"/> | ||||
|   <Messenger :messages="[{ position: 'right', msg: '/echo 你好,世界' }, { position: 'left', msg: '你好,世界' }]"/> | ||||
| </ClientOnly> | ||||
| @@ -6,7 +6,10 @@ | ||||
| 请确保你的 Python 版本 >= 3.7。 | ||||
| ::: | ||||
| 
 | ||||
| 请在安装 nonebot2 之前卸载 nonebot 1.x | ||||
| 
 | ||||
| ```bash | ||||
| pip uninstall nonebot | ||||
| pip install nonebot2 | ||||
| ``` | ||||
| 
 | ||||
| @@ -1,4 +1,5 @@ | ||||
| { | ||||
|   "sidebar": {}, | ||||
|   "locales": { | ||||
|     "/": { | ||||
|       "label": "简体中文", | ||||
| @@ -17,6 +18,10 @@ | ||||
|         { | ||||
|           "text": "API", | ||||
|           "link": "/api/" | ||||
|         }, | ||||
|         { | ||||
|           "text": "插件广场", | ||||
|           "link": "/plugin-store" | ||||
|         } | ||||
|       ], | ||||
|       "sidebarDepth": 2, | ||||
| @@ -51,6 +56,10 @@ | ||||
|                 "title": "nonebot.config 模块", | ||||
|                 "path": "config" | ||||
|               }, | ||||
|               { | ||||
|                 "title": "nonebot.plugin 模块", | ||||
|                 "path": "plugin" | ||||
|               }, | ||||
|               { | ||||
|                 "title": "nonebot.matcher 模块", | ||||
|                 "path": "matcher" | ||||
		Reference in New Issue
	
	Block a user