NoneBot.drivers 模块 | NoneBot
Description: 跨平台 Python 异步 QQ 机器人框架

# # 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 信息

Contents

- 后端驱动适配基类
- class BaseDriver
  - _adapters
  - abstract __init__(env, config)
  - env
  - config
  - _clients
  - classmethod register_adapter(name, adapter)
  - abstract property type
  - abstract property server_app
  - abstract property asgi
  - abstract property logger
  - property bots
  - abstract on_startup(func)
  - abstract on_shutdown(func)
  - abstract run(host=None, port=None, *args, **kwargs)
  - abstract async _handle_http()
  - abstract async _handle_ws_reverse()
- class BaseWebSocket
  - abstract __init__(websocket)
  - property websocket
  - abstract property closed
  - abstract async accept()
  - abstract async close(code)
  - abstract async receive()
  - abstract async send(data)