nonebot.drivers
本模块定义了驱动适配器基类。
各驱动请继承以下基类。
abstract class Driver(env, config)
property bots
类型: dict[str, Bot]
说明: 获取当前所有已连接的 Bot
abstract property logger
类型:
说明: 驱动专属 logger 日志记录器
abstract property type
类型: str
说明: 驱动类型名称
classmethod on_bot_connect(cls, func)
说明
装饰一个函数使他在 bot 连接成功时执行。
钩子函数参数:
- bot: 当前连接上的 Bot 对象
参数
func
((*Any, **Any) -> Awaitable[Any])
返回
- (*Any, **Any) -> Awaitable[Any]
classmethod on_bot_disconnect(cls, func)
说明
装饰一个函数使他在 bot 连接断开时执行。
钩子函数参数:
- bot: 当前连接上的 Bot 对象
参数
func
((*Any, **Any) -> Awaitable[Any])
返回
- (*Any, **Any) -> Awaitable[Any]
abstract method on_shutdown(self, func)
说明
注册一个在驱动器停止时执行的函数
参数
func
(Callable)
返回
- Callable
abstract method on_startup(self, func)
说明
注册一个在驱动器启动时执行的函数
参数
func
(Callable)
返回
- Callable
method register_adapter(self, adapter, **kwargs)
说明
注册一个协议适配器
参数
adapter
(Type[Adapter]): 适配器类**kwargs
: 其他传递给适配器的参数
返回
- None
abstract method run(self, *args, **kwargs)
说明
启动驱动框架
参数
*args
**kwargs
返回
- Unknown
class Cookies(cookies=None)
参数
cookies
(NoneType | Cookies | http.cookiejar.CookieJar | dict[str, str] | list[tuple[str, str]])
method clear(self, domain=None, path=None)
参数
domain
(str | None)path
(str | None)
返回
- None
method delete(self, name, domain=None, path=None)
参数
name
(str)domain
(str | None)path
(str | None)
返回
- None
method get(self, name, default=None, domain=None, path=None)
参数
name
(str)default
(str | None)domain
(str)path
(str)
返回
- str | None
method set(self, name, value, domain='', path='/')
参数
name
(str)value
(str)domain
(str)path
(str)
返回
- None
method update(self, cookies=None)
参数
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)
参数
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)
参数
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)
参数
request
(nonebot.internal.driver.model.Request)
abstract property closed
类型: bool
说明: 连接是否已经关闭
abstract async method accept(self)
说明
接受 WebSocket 连接请求
返回
- None
abstract async method close(self, code=1000, reason='')
说明
关闭 WebSocket 连接请求
参数
code
(int)reason
(str)
返回
- None
abstract async method receive(self)
说明
接收一条 WebSocket text 信息
返回
- str
abstract async method receive_bytes(self)
说明
接收一条 WebSocket binary 信息
返回
- bytes
abstract async method send(self, data)
说明
发送一条 WebSocket text 信息
参数
data
(str)
返回
- None
abstract async method send_bytes(self, data)
说明
发送一条 WebSocket binary 信息
参数
data
(bytes)
返回
- None
enum HTTPVersion
说明
An enumeration.
枚举成员
H10
H11
H2
abstract class ForwardMixin()
说明
客户端混入基类。
abstract property type
类型: str
说明: 客户端驱动类型名称
abstract async method request(self, setup)
说明
发送一个 HTTP 请求
参数
setup
(nonebot.internal.driver.model.Request)
返回
- nonebot.internal.driver.model.Response
abstract method websocket(self, setup)
说明
发起一个 WebSocket 连接
参数
setup
(nonebot.internal.driver.model.Request)
返回
- AsyncGenerator[nonebot.internal.driver.model.WebSocket, NoneType]
abstract class ForwardDriver(env, config)
abstract class ReverseDriver(env, config)
abstract property asgi
类型: Any
说明: 驱动 ASGI 对象
abstract property server_app
类型: Any
说明: 驱动 APP 对象
abstract method setup_http_server(self, setup)
说明
设置一个 HTTP 服务器路由配置
参数
setup
(HTTPServerSetup)
返回
- None
abstract method setup_websocket_server(self, setup)
说明
设置一个 WebSocket 服务器路由配置
参数
setup
(WebSocketServerSetup)
返回
- None
def combine_driver(driver, *mixins)
说明
将一个驱动器和多个混入类合并。
参数
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)
说明
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)
说明
WebSocket 服务器路由配置。
参数
path
(yarl.URL)name
(str)handle_func
((nonebot.internal.driver.model.WebSocket) -> Awaitable[Any])
library-attr URL
三方库 API