---
contentSidebar: true
sidebarDepth: 0
---

# NoneBot.drivers 模块

## 后端驱动适配基类

各驱动请继承以下基类


## _class_ `Driver`

基类：`abc.ABC`

Driver 基类。将后端框架封装，以满足适配器使用。


### `_adapters`


* **类型**

    `Dict[str, Type[Bot]]`



* **说明**

    已注册的适配器列表



### `_ws_connection_hook`


* **类型**

    `Set[T_WebSocketConnectionHook]`



* **说明**

    WebSocket 连接建立时执行的函数



### `_ws_disconnection_hook`


* **类型**

    `Set[T_WebSocketDisconnectionHook]`



* **说明**

    WebSocket 连接断开时执行的函数



### _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)`

注册一个在驱动停止时运行的函数


### `on_bot_connect(func)`


* **说明**

    装饰一个函数使他在 bot 通过 WebSocket 连接成功时执行。



* **函数参数**

    
    * `bot: Bot`: 当前连接上的 Bot 对象



### `on_bot_disconnect(func)`


* **说明**

    装饰一个函数使他在 bot 通过 WebSocket 连接断开时执行。



* **函数参数**

    
    * `bot: Bot`: 当前连接上的 Bot 对象



### `_bot_connect(bot)`

在 WebSocket 连接成功后，调用该函数来注册 bot 对象


### `_bot_disconnect(bot)`

在 WebSocket 连接断开后，调用该函数来注销 bot 对象


### _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_ `WebSocket`

基类：`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 信息
