🔖 Release 2.0.0rc3

This commit is contained in:
github-actions[bot]
2023-01-22 08:17:26 +00:00
parent 50aa8c53e0
commit eceef1ebec
77 changed files with 11207 additions and 1 deletions

View File

@ -0,0 +1,3 @@
{
"position": 14
}

View File

@ -0,0 +1,120 @@
---
sidebar_position: 2
description: nonebot.drivers.aiohttp 模块
---
# nonebot.drivers.aiohttp
[AIOHTTP](https://aiohttp.readthedocs.io/en/stable/) 驱动适配器。
```bash
nb driver install aiohttp
# 或者
pip install nonebot2[aiohttp]
```
:::tip 提示
本驱动仅支持客户端连接
:::
## _class_ `Mixin()` {#Mixin}
- **说明**
AIOHTTP Mixin
### _property_ `type` {#Mixin-type}
- **类型:** str
### _async method_ `request(self, setup)` {#Mixin-request}
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- nonebot.internal.driver.model.Response
### _method_ `websocket(self, setup)` {#Mixin-websocket}
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- AsyncGenerator[WebSocket, NoneType]
## _class_ `WebSocket(*, request, session, websocket)` {#WebSocket}
- **说明**
AIOHTTP Websocket Wrapper
- **参数**
- `request` (nonebot.internal.driver.model.Request)
- `session` (aiohttp.client.ClientSession)
- `websocket` (aiohttp.client_ws.ClientWebSocketResponse)
### _async method_ `accept(self)` {#WebSocket-accept}
- **返回**
- Unknown
### _async method_ `close(self, code=1000)` {#WebSocket-close}
- **参数**
- `code` (int)
- **返回**
- Unknown
### _async method_ `receive(self)` {#WebSocket-receive}
- **返回**
- str
### _async method_ `receive_bytes(self)` {#WebSocket-receive_bytes}
- **返回**
- bytes
### _async method_ `receive_text(self)` {#WebSocket-receive_text}
- **返回**
- str
### _async method_ `send_bytes(self, data)` {#WebSocket-send_bytes}
- **参数**
- `data` (bytes)
- **返回**
- None
### _async method_ `send_text(self, data)` {#WebSocket-send_text}
- **参数**
- `data` (str)
- **返回**
- None
## _library-attr_ `Driver`
三方库 API

View File

@ -0,0 +1,290 @@
---
sidebar_position: 1
description: nonebot.drivers.fastapi 模块
---
# nonebot.drivers.fastapi
[FastAPI](https://fastapi.tiangolo.com/) 驱动适配
```bash
nb driver install fastapi
# 或者
pip install nonebot2[fastapi]
```
:::tip 提示
本驱动仅支持服务端连接
:::
## _class_ `Config(_env_file='<object object>', _env_file_encoding=None, _env_nested_delimiter=None, _secrets_dir=None, *, fastapi_openapi_url=None, fastapi_docs_url=None, fastapi_redoc_url=None, fastapi_include_adapter_schema=True, fastapi_reload=False, fastapi_reload_dirs=None, fastapi_reload_delay=0.25, fastapi_reload_includes=None, fastapi_reload_excludes=None, fastapi_extra={})` {#Config}
- **说明**
FastAPI 驱动框架设置,详情参考 FastAPI 文档
- **参数**
- `_env_file` (str | os.PathLike | list[str | os.PathLike] | tuple[str | os.PathLike, ...] | NoneType)
- `_env_file_encoding` (str | None)
- `_env_nested_delimiter` (str | None)
- `_secrets_dir` (str | os.PathLike | NoneType)
- `fastapi_openapi_url` (str | None)
- `fastapi_docs_url` (str | None)
- `fastapi_redoc_url` (str | None)
- `fastapi_include_adapter_schema` (bool)
- `fastapi_reload` (bool)
- `fastapi_reload_dirs` (list[str] | None)
- `fastapi_reload_delay` (float)
- `fastapi_reload_includes` (list[str] | None)
- `fastapi_reload_excludes` (list[str] | None)
- `fastapi_extra` (dict[str, Any])
### _class-var_ `fastapi_openapi_url` {#Config-fastapi_openapi_url}
- **类型:** str | None
- **说明:** `openapi.json` 地址,默认为 `None` 即关闭
### _class-var_ `fastapi_docs_url` {#Config-fastapi_docs_url}
- **类型:** str | None
- **说明:** `swagger` 地址,默认为 `None` 即关闭
### _class-var_ `fastapi_redoc_url` {#Config-fastapi_redoc_url}
- **类型:** str | None
- **说明:** `redoc` 地址,默认为 `None` 即关闭
### _class-var_ `fastapi_include_adapter_schema` {#Config-fastapi_include_adapter_schema}
- **类型:** bool
- **说明:** 是否包含适配器路由的 schema默认为 `True`
### _class-var_ `fastapi_reload` {#Config-fastapi_reload}
- **类型:** bool
- **说明:** 开启/关闭冷重载
### _class-var_ `fastapi_reload_dirs` {#Config-fastapi_reload_dirs}
- **类型:** list[str] | None
- **说明:** 重载监控文件夹列表,默认为 uvicorn 默认值
### _class-var_ `fastapi_reload_delay` {#Config-fastapi_reload_delay}
- **类型:** float
- **说明:** 重载延迟,默认为 uvicorn 默认值
### _class-var_ `fastapi_reload_includes` {#Config-fastapi_reload_includes}
- **类型:** list[str] | None
- **说明:** 要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值
### _class-var_ `fastapi_reload_excludes` {#Config-fastapi_reload_excludes}
- **类型:** list[str] | None
- **说明:** 不要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值
### _class-var_ `fastapi_extra` {#Config-fastapi_extra}
- **类型:** dict[str, Any]
- **说明:** 传递给 `FastAPI` 的其他参数。
## _class_ `Driver(env, config)` {#Driver}
- **说明**
FastAPI 驱动框架。
- **参数**
- `env` ([Env](../config.md#Env))
- `config` ([Config](../config.md#Config))
### _property_ `asgi` {#Driver-asgi}
- **类型:** fastapi.applications.FastAPI
- **说明:** `FastAPI APP` 对象
### _property_ `logger` {#Driver-logger}
- **类型:** logging.Logger
- **说明:** fastapi 使用的 logger
### _property_ `server_app` {#Driver-server_app}
- **类型:** fastapi.applications.FastAPI
- **说明:** `FastAPI APP` 对象
### _property_ `type` {#Driver-type}
- **类型:** str
- **说明:** 驱动名称: `fastapi`
### _method_ `on_shutdown(self, func)` {#Driver-on_shutdown}
- **说明**
参考文档: `Events <https://fastapi.tiangolo.com/advanced/events/#shutdown-event>`\_
- **参数**
- `func` (Callable)
- **返回**
- Callable
### _method_ `on_startup(self, func)` {#Driver-on_startup}
- **说明**
参考文档: `Events <https://fastapi.tiangolo.com/advanced/events/#startup-event>`\_
- **参数**
- `func` (Callable)
- **返回**
- Callable
### _method_ `run(self, host=None, port=None, *, app=None, **kwargs)` {#Driver-run}
- **说明**
使用 `uvicorn` 启动 FastAPI
- **参数**
- `host` (str | None)
- `port` (int | None)
- `app` (str | None)
- `**kwargs`
- **返回**
- Unknown
### _method_ `setup_http_server(self, setup)` {#Driver-setup_http_server}
- **参数**
- `setup` (nonebot.internal.driver.model.HTTPServerSetup)
- **返回**
- Unknown
### _method_ `setup_websocket_server(self, setup)` {#Driver-setup_websocket_server}
- **参数**
- `setup` (nonebot.internal.driver.model.WebSocketServerSetup)
- **返回**
- None
## _class_ `FastAPIWebSocket(*, request, websocket)` {#FastAPIWebSocket}
- **说明**
FastAPI WebSocket Wrapper
- **参数**
- `request` (nonebot.internal.driver.model.Request)
- `websocket` (starlette.websockets.WebSocket)
### _property_ `closed` {#FastAPIWebSocket-closed}
- **类型:** bool
### _async method_ `accept(self)` {#FastAPIWebSocket-accept}
- **返回**
- None
### _async method_ `close(self, code=1000, reason='')` {#FastAPIWebSocket-close}
- **参数**
- `code` (int)
- `reason` (str)
- **返回**
- None
### _async method_ `receive(self)` {#FastAPIWebSocket-receive}
- **返回**
- str | bytes
### _async method_ `receive_bytes(self)` {#FastAPIWebSocket-receive_bytes}
- **返回**
- bytes
### _async method_ `receive_text(self)` {#FastAPIWebSocket-receive_text}
- **返回**
- str
### _async method_ `send_bytes(self, data)` {#FastAPIWebSocket-send_bytes}
- **参数**
- `data` (bytes)
- **返回**
- None
### _async method_ `send_text(self, data)` {#FastAPIWebSocket-send_text}
- **参数**
- `data` (str)
- **返回**
- None

View File

@ -0,0 +1,52 @@
---
sidebar_position: 3
description: nonebot.drivers.httpx 模块
---
# nonebot.drivers.httpx
[HTTPX](https://www.python-httpx.org/) 驱动适配
```bash
nb driver install httpx
# 或者
pip install nonebot2[httpx]
```
:::tip 提示
本驱动仅支持客户端 HTTP 连接
:::
## _class_ `Mixin()` {#Mixin}
- **说明**
HTTPX Mixin
### _property_ `type` {#Mixin-type}
- **类型:** str
### _async method_ `request(self, setup)` {#Mixin-request}
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- nonebot.internal.driver.model.Response
### _method_ `websocket(self, setup)` {#Mixin-websocket}
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- AsyncGenerator[nonebot.internal.driver.model.WebSocket, NoneType]
## _library-attr_ `Driver`
三方库 API

View File

@ -0,0 +1,538 @@
---
sidebar_position: 0
description: nonebot.drivers 模块
---
# nonebot.drivers
本模块定义了驱动适配器基类。
各驱动请继承以下基类。
## _abstract class_ `Driver(env, config)` {#Driver}
- **说明**
Driver 基类。
- **参数**
- `env` ([Env](../config.md#Env)): 包含环境信息的 Env 对象
- `config` ([Config](../config.md#Config)): 包含配置信息的 Config 对象
### _property_ `bots` {#Driver-bots}
- **类型:** dict[str, Bot]
- **说明:** 获取当前所有已连接的 Bot
### _abstract property_ `logger` {#Driver-logger}
- **类型:**
- **说明:** 驱动专属 logger 日志记录器
### _abstract property_ `type` {#Driver-type}
- **类型:** str
- **说明:** 驱动类型名称
### _classmethod_ `on_bot_connect(cls, func)` {#Driver-on_bot_connect}
- **说明**
装饰一个函数使他在 bot 连接成功时执行。
钩子函数参数:
- bot: 当前连接上的 Bot 对象
- **参数**
- `func` ((*Any, \*\*Any) -> Any | (*Any, \*\*Any) -> Awaitable[Any])
- **返回**
- (\*Any, \*\*Any) -> Any | (\*Any, \*\*Any) -> Awaitable[Any]
### _classmethod_ `on_bot_disconnect(cls, func)` {#Driver-on_bot_disconnect}
- **说明**
装饰一个函数使他在 bot 连接断开时执行。
钩子函数参数:
- bot: 当前连接上的 Bot 对象
- **参数**
- `func` ((*Any, \*\*Any) -> Any | (*Any, \*\*Any) -> Awaitable[Any])
- **返回**
- (\*Any, \*\*Any) -> Any | (\*Any, \*\*Any) -> Awaitable[Any]
### _abstract method_ `on_shutdown(self, func)` {#Driver-on_shutdown}
- **说明**
注册一个在驱动器停止时执行的函数
- **参数**
- `func` (Callable)
- **返回**
- Callable
### _abstract method_ `on_startup(self, func)` {#Driver-on_startup}
- **说明**
注册一个在驱动器启动时执行的函数
- **参数**
- `func` (Callable)
- **返回**
- Callable
### _method_ `register_adapter(self, adapter, **kwargs)` {#Driver-register_adapter}
- **说明**
注册一个协议适配器
- **参数**
- `adapter` (Type[Adapter]): 适配器类
- `**kwargs`: 其他传递给适配器的参数
- **返回**
- None
### _abstract method_ `run(self, *args, **kwargs)` {#Driver-run}
- **说明**
启动驱动框架
- **参数**
- `*args`
- `**kwargs`
- **返回**
- Unknown
## _class_ `Cookies(cookies=None)` {#Cookies}
- **参数**
- `cookies` (NoneType | Cookies | http.cookiejar.CookieJar | dict[str, str] | list[tuple[str, str]])
### _method_ `as_header(self, request)` {#Cookies-as_header}
- **参数**
- `request` (nonebot.internal.driver.model.Request)
- **返回**
- dict[str, str]
### _method_ `clear(self, domain=None, path=None)` {#Cookies-clear}
- **参数**
- `domain` (str | None)
- `path` (str | None)
- **返回**
- None
### _method_ `delete(self, name, domain=None, path=None)` {#Cookies-delete}
- **参数**
- `name` (str)
- `domain` (str | None)
- `path` (str | None)
- **返回**
- None
### _method_ `get(self, name, default=None, domain=None, path=None)` {#Cookies-get}
- **参数**
- `name` (str)
- `default` (str | None)
- `domain` (str | None)
- `path` (str | None)
- **返回**
- str | None
### _method_ `set(self, name, value, domain='', path='/')` {#Cookies-set}
- **参数**
- `name` (str)
- `value` (str)
- `domain` (str)
- `path` (str)
- **返回**
- None
### _method_ `update(self, cookies=None)` {#Cookies-update}
- **参数**
- `cookies` (NoneType | Cookies | http.cookiejar.CookieJar | dict[str, str] | list[tuple[str, str]])
- **返回**
- None
## _class_ `Request(method, url, *, params=None, headers=None, cookies=None, content=None, data=None, json=None, files=None, version=HTTPVersion.H11, timeout=None, proxy=None)` {#Request}
- **参数**
- `method` (str | bytes)
- `url` (URL | str | tuple[bytes, bytes, int | None, bytes])
- `params` (NoneType | str | Mapping[str, str | int | float | list[str | int | float]] | list[tuple[str, str | int | float | list[str | int | float]]])
- `headers` (NoneType | multidict.\_multidict.CIMultiDict[str] | dict[str, str] | list[tuple[str, str]])
- `cookies` (NoneType | Cookies | http.cookiejar.CookieJar | dict[str, str] | list[tuple[str, str]])
- `content` (str | bytes | NoneType)
- `data` (dict | None)
- `json` (Any)
- `files` (dict[str, IO[bytes] | bytes | tuple[str | None, IO[bytes] | bytes] | tuple[str | None, IO[bytes] | bytes, str | None]] | list[tuple[str, IO[bytes] | bytes | tuple[str | None, IO[bytes] | bytes] | tuple[str | None, IO[bytes] | bytes, str | None]]] | NoneType)
- `version` (str | nonebot.internal.driver.model.HTTPVersion)
- `timeout` (float | None)
- `proxy` (str | None)
## _class_ `Response(status_code, *, headers=None, content=None, request=None)` {#Response}
- **参数**
- `status_code` (int)
- `headers` (NoneType | multidict.\_multidict.CIMultiDict[str] | dict[str, str] | list[tuple[str, str]])
- `content` (str | bytes | NoneType)
- `request` (nonebot.internal.driver.model.Request | None)
## _abstract class_ `WebSocket(*, request)` {#WebSocket}
- **参数**
- `request` (nonebot.internal.driver.model.Request)
### _abstract property_ `closed` {#WebSocket-closed}
- **类型:** bool
- **说明:** 连接是否已经关闭
### _abstract async method_ `accept(self)` {#WebSocket-accept}
- **说明**
接受 WebSocket 连接请求
- **返回**
- None
### _abstract async method_ `close(self, code=1000, reason='')` {#WebSocket-close}
- **说明**
关闭 WebSocket 连接请求
- **参数**
- `code` (int)
- `reason` (str)
- **返回**
- None
### _abstract async method_ `receive(self)` {#WebSocket-receive}
- **说明**
接收一条 WebSocket text/bytes 信息
- **返回**
- str | bytes
### _abstract async method_ `receive_bytes(self)` {#WebSocket-receive_bytes}
- **说明**
接收一条 WebSocket binary 信息
- **返回**
- bytes
### _abstract async method_ `receive_text(self)` {#WebSocket-receive_text}
- **说明**
接收一条 WebSocket text 信息
- **返回**
- str
### _async method_ `send(self, data)` {#WebSocket-send}
- **说明**
发送一条 WebSocket text/bytes 信息
- **参数**
- `data` (str | bytes)
- **返回**
- None
### _abstract async method_ `send_bytes(self, data)` {#WebSocket-send_bytes}
- **说明**
发送一条 WebSocket binary 信息
- **参数**
- `data` (bytes)
- **返回**
- None
### _abstract async method_ `send_text(self, data)` {#WebSocket-send_text}
- **说明**
发送一条 WebSocket text 信息
- **参数**
- `data` (str)
- **返回**
- None
## _enum_ `HTTPVersion` {#HTTPVersion}
- **说明**
An enumeration.
- **枚举成员**
- `H10`
- `H11`
- `H2`
## _abstract class_ `ForwardMixin()` {#ForwardMixin}
- **说明**
客户端混入基类。
### _abstract property_ `type` {#ForwardMixin-type}
- **类型:** str
- **说明:** 客户端驱动类型名称
### _abstract async method_ `request(self, setup)` {#ForwardMixin-request}
- **说明**
发送一个 HTTP 请求
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- nonebot.internal.driver.model.Response
### _abstract method_ `websocket(self, setup)` {#ForwardMixin-websocket}
- **说明**
发起一个 WebSocket 连接
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- AsyncGenerator[nonebot.internal.driver.model.WebSocket, NoneType]
## _abstract class_ `ForwardDriver(env, config)` {#ForwardDriver}
- **说明**
客户端基类。将客户端框架封装,以满足适配器使用。
- **参数**
- `env` ([Env](../config.md#Env))
- `config` ([Config](../config.md#Config))
## _abstract class_ `ReverseDriver(env, config)` {#ReverseDriver}
- **说明**
服务端基类。将后端框架封装,以满足适配器使用。
- **参数**
- `env` ([Env](../config.md#Env))
- `config` ([Config](../config.md#Config))
### _abstract property_ `asgi` {#ReverseDriver-asgi}
- **类型:** Any
- **说明:** 驱动 ASGI 对象
### _abstract property_ `server_app` {#ReverseDriver-server_app}
- **类型:** Any
- **说明:** 驱动 APP 对象
### _abstract method_ `setup_http_server(self, setup)` {#ReverseDriver-setup_http_server}
- **说明**
设置一个 HTTP 服务器路由配置
- **参数**
- `setup` (HTTPServerSetup)
- **返回**
- None
### _abstract method_ `setup_websocket_server(self, setup)` {#ReverseDriver-setup_websocket_server}
- **说明**
设置一个 WebSocket 服务器路由配置
- **参数**
- `setup` (WebSocketServerSetup)
- **返回**
- None
## _def_ `combine_driver(driver, *mixins)` {#combine_driver}
- **说明**
将一个驱动器和多个混入类合并。
- **参数**
- `driver` (Type[nonebot.internal.driver.driver.Driver])
- `*mixins` (Type[nonebot.internal.driver.driver.ForwardMixin])
- **返回**
- Type[nonebot.internal.driver.driver.Driver]
## _class_ `HTTPServerSetup(path, method, name, handle_func)` {#HTTPServerSetup}
- **说明**
HTTP 服务器路由配置。
- **参数**
- `path` (yarl.URL)
- `method` (str)
- `name` (str)
- `handle_func` ((nonebot.internal.driver.model.Request) -> Awaitable[nonebot.internal.driver.model.Response])
## _class_ `WebSocketServerSetup(path, name, handle_func)` {#WebSocketServerSetup}
- **说明**
WebSocket 服务器路由配置。
- **参数**
- `path` (yarl.URL)
- `name` (str)
- `handle_func` ((nonebot.internal.driver.model.WebSocket) -> Awaitable[Any])
## _library-attr_ `URL`
三方库 API

View File

@ -0,0 +1,80 @@
---
sidebar_position: 6
description: nonebot.drivers.none 模块
---
# nonebot.drivers.none
None 驱动适配
:::tip 提示
本驱动不支持任何服务器或客户端连接
:::
## _class_ `Driver(env, config)` {#Driver}
- **说明**
None 驱动框架
- **参数**
- `env` ([Env](../config.md#Env))
- `config` ([Config](../config.md#Config))
### _property_ `logger` {#Driver-logger}
- **类型:**
- **说明:** none driver 使用的 logger
### _property_ `type` {#Driver-type}
- **类型:** str
- **说明:** 驱动名称: `none`
### _method_ `on_shutdown(self, func)` {#Driver-on_shutdown}
- **说明**
注册一个停止时执行的函数
- **参数**
- `func` (() -> NoneType | () -> Awaitable[NoneType])
- **返回**
- () -> NoneType | () -> Awaitable[NoneType]
### _method_ `on_startup(self, func)` {#Driver-on_startup}
- **说明**
注册一个启动时执行的函数
- **参数**
- `func` (() -> NoneType | () -> Awaitable[NoneType])
- **返回**
- () -> NoneType | () -> Awaitable[NoneType]
### _method_ `run(self, *args, **kwargs)` {#Driver-run}
- **说明**
启动 none driver
- **参数**
- `*args`
- `**kwargs`
- **返回**
- Unknown

View File

@ -0,0 +1,254 @@
---
sidebar_position: 5
description: nonebot.drivers.quart 模块
---
# nonebot.drivers.quart
[Quart](https://pgjones.gitlab.io/quart/index.html) 驱动适配
```bash
nb driver install quart
# 或者
pip install nonebot2[quart]
```
:::tip 提示
本驱动仅支持服务端连接
:::
## _class_ `Config(_env_file='<object object>', _env_file_encoding=None, _env_nested_delimiter=None, _secrets_dir=None, *, quart_reload=False, quart_reload_dirs=None, quart_reload_delay=0.25, quart_reload_includes=None, quart_reload_excludes=None, quart_extra={})` {#Config}
- **说明**
Quart 驱动框架设置
- **参数**
- `_env_file` (str | os.PathLike | list[str | os.PathLike] | tuple[str | os.PathLike, ...] | NoneType)
- `_env_file_encoding` (str | None)
- `_env_nested_delimiter` (str | None)
- `_secrets_dir` (str | os.PathLike | NoneType)
- `quart_reload` (bool)
- `quart_reload_dirs` (list[str] | None)
- `quart_reload_delay` (float)
- `quart_reload_includes` (list[str] | None)
- `quart_reload_excludes` (list[str] | None)
- `quart_extra` (dict[str, Any])
### _class-var_ `quart_reload` {#Config-quart_reload}
- **类型:** bool
- **说明:** 开启/关闭冷重载
### _class-var_ `quart_reload_dirs` {#Config-quart_reload_dirs}
- **类型:** list[str] | None
- **说明:** 重载监控文件夹列表,默认为 uvicorn 默认值
### _class-var_ `quart_reload_delay` {#Config-quart_reload_delay}
- **类型:** float
- **说明:** 重载延迟,默认为 uvicorn 默认值
### _class-var_ `quart_reload_includes` {#Config-quart_reload_includes}
- **类型:** list[str] | None
- **说明:** 要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值
### _class-var_ `quart_reload_excludes` {#Config-quart_reload_excludes}
- **类型:** list[str] | None
- **说明:** 不要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值
### _class-var_ `quart_extra` {#Config-quart_extra}
- **类型:** dict[str, Any]
- **说明:** 传递给 `Quart` 的其他参数。
## _class_ `Driver(env, config)` {#Driver}
- **说明**
Quart 驱动框架
- **参数**
- `env` ([Env](../config.md#Env))
- `config` ([Config](../config.md#Config))
### _property_ `asgi` {#Driver-asgi}
- **类型:**
- **说明:** `Quart` 对象
### _property_ `logger` {#Driver-logger}
- **类型:**
- **说明:** Quart 使用的 logger
### _property_ `server_app` {#Driver-server_app}
- **类型:** quart.app.Quart
- **说明:** `Quart` 对象
### _property_ `type` {#Driver-type}
- **类型:** str
- **说明:** 驱动名称: `quart`
### _method_ `on_shutdown(self, func)` {#Driver-on_shutdown}
- **说明**
参考文档: [`Startup and Shutdown`](https://pgjones.gitlab.io/quart/how_to_guides/startup_shutdown.html)
- **参数**
- `func` ((~ \_AsyncCallable))
- **返回**
- (~ \_AsyncCallable)
### _method_ `on_startup(self, func)` {#Driver-on_startup}
- **说明**
参考文档: [`Startup and Shutdown`](https://pgjones.gitlab.io/quart/how_to_guides/startup_shutdown.html)
- **参数**
- `func` ((~ \_AsyncCallable))
- **返回**
- (~ \_AsyncCallable)
### _method_ `run(self, host=None, port=None, *, app=None, **kwargs)` {#Driver-run}
- **说明**
使用 `uvicorn` 启动 Quart
- **参数**
- `host` (str | None)
- `port` (int | None)
- `app` (str | None)
- `**kwargs`
- **返回**
- Unknown
### _method_ `setup_http_server(self, setup)` {#Driver-setup_http_server}
- **参数**
- `setup` (nonebot.internal.driver.model.HTTPServerSetup)
- **返回**
- Unknown
### _method_ `setup_websocket_server(self, setup)` {#Driver-setup_websocket_server}
- **参数**
- `setup` (nonebot.internal.driver.model.WebSocketServerSetup)
- **返回**
- None
## _class_ `WebSocket(*, request, websocket)` {#WebSocket}
- **说明**
Quart WebSocket Wrapper
- **参数**
- `request` (nonebot.internal.driver.model.Request)
- `websocket` (quart.wrappers.websocket.Websocket)
### _async method_ `accept(self)` {#WebSocket-accept}
- **返回**
- Unknown
### _async method_ `close(self, code=1000, reason='')` {#WebSocket-close}
- **参数**
- `code` (int)
- `reason` (str)
- **返回**
- Unknown
### _async method_ `receive(self)` {#WebSocket-receive}
- **返回**
- str | bytes
### _async method_ `receive_bytes(self)` {#WebSocket-receive_bytes}
- **返回**
- bytes
### _async method_ `receive_text(self)` {#WebSocket-receive_text}
- **返回**
- str
### _async method_ `send_bytes(self, data)` {#WebSocket-send_bytes}
- **参数**
- `data` (bytes)
- **返回**
- Unknown
### _async method_ `send_text(self, data)` {#WebSocket-send_text}
- **参数**
- `data` (str)
- **返回**
- Unknown

View File

@ -0,0 +1,134 @@
---
sidebar_position: 4
description: nonebot.drivers.websockets 模块
---
# nonebot.drivers.websockets
[websockets](https://websockets.readthedocs.io/) 驱动适配
```bash
nb driver install websockets
# 或者
pip install nonebot2[websockets]
```
:::tip 提示
本驱动仅支持客户端 WebSocket 连接
:::
## _def_ `catch_closed(func)` {#catch_closed}
- **参数**
- `func`
- **返回**
- Unknown
## _class_ `Mixin()` {#Mixin}
- **说明**
Websockets Mixin
### _property_ `type` {#Mixin-type}
- **类型:** str
### _async method_ `request(self, setup)` {#Mixin-request}
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- nonebot.internal.driver.model.Response
### _method_ `websocket(self, setup)` {#Mixin-websocket}
- **参数**
- `setup` (nonebot.internal.driver.model.Request)
- **返回**
- AsyncGenerator[WebSocket, NoneType]
## _class_ `WebSocket(*, request, websocket)` {#WebSocket}
- **说明**
Websockets WebSocket Wrapper
- **参数**
- `request` (nonebot.internal.driver.model.Request)
- `websocket` (websockets.legacy.client.WebSocketClientProtocol)
### _property_ `closed` {#WebSocket-closed}
- **类型:** bool
### _async method_ `accept(self)` {#WebSocket-accept}
- **返回**
- Unknown
### _async method_ `close(self, code=1000, reason='')` {#WebSocket-close}
- **参数**
- `code` (int)
- `reason` (str)
- **返回**
- Unknown
### _async method_ `receive(self)` {#WebSocket-receive}
- **返回**
- str | bytes
### _async method_ `receive_bytes(self)` {#WebSocket-receive_bytes}
- **返回**
- bytes
### _async method_ `receive_text(self)` {#WebSocket-receive_text}
- **返回**
- str
### _async method_ `send_bytes(self, data)` {#WebSocket-send_bytes}
- **参数**
- `data` (bytes)
- **返回**
- None
### _async method_ `send_text(self, data)` {#WebSocket-send_text}
- **参数**
- `data` (str)
- **返回**
- None
## _library-attr_ `Driver`
三方库 API