nonebot2/archive/2.0.0a6/api/drivers/README.md
2020-11-18 15:12:48 +08:00

2.5 KiB

contentSidebar sidebarDepth
true 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 信息