melobot.io¶
连接器¶
- class melobot.io.ForwardWsConn[源代码]¶
-
正向 websocket 连接器
注意
在 melobot 中,正向 websocket 连接器会开启一个 ws 客户端。这个客户端只能和一个服务端通信。
- __init__(connect_host: str, connect_port: int, max_retry: int = -1, retry_delay: float = 4.0, cd_time: float = 0.2, access_token: str | None = None, reconnect: bool = False) None [源代码]¶
初始化一个正向 websocket 连接器
注意:会向路径 “/” 发起行为操作
- 参数:
connect_host – 连接的 host
connect_port – 连接的 port
max_retry – 连接最大重试次数,默认 -1 代表无限次重试
retry_delay – 连接重试间隔时间
cd_time – 行为操作冷却时间(用于防止风控)
access_token – 本连接器操作鉴权的 access_token(建议从环境变量或配置中读取)
reconnect – 建立连接失败是否重连。默认为 False,即服务端断线直接停止 bot;若为 True,则会按照 max_retry, retry_delay 不断尝试重连,重连成功前时所有行为操作将阻塞。
- url¶
ws 连接的 url(形如:ws://xxx:xxx)
- access_token¶
连接器操作鉴权的 token
- class melobot.io.ReverseWsConn[源代码]¶
-
反向 websocket 连接器
注意
注意:在 melobot 中,反向 websocket 连接器会开启一个 ws 服务端。但是这个服务端只接受一个客户端连接,后续其他连接将被拒绝。
- __init__(listen_host: str, listen_port: int, cd_time: float = 0.2, access_token: str | None = None, reconnect: bool = False) None [源代码]¶
初始化一个反向 websocket连接器
注意:服务提供路径为:”/”
- 参数:
listen_host – 监听的 host
listen_port – 监听的 port
cd_time – 行为操作冷却时间(用于防止风控)
access_token – 本连接器用于鉴权的 access_token(建议从环境变量或配置中读取)
reconnect – 是否允许客户端重新连接。默认为 False,即客户端连接后如果断连,将直接停止 bot;若为 True,则会等待客户端重连,等待时所有行为操作将阻塞
- server: websockets.server.WebSocketServer¶
服务端对象
- access_token¶
连接器操作鉴权的 token
- class melobot.io.HttpConn[源代码]¶
-
HTTP 全双工连接器
HTTP 全双工连接器将会同时开启 HTTP 服务端和客户端。
客户端将会向 OneBot 实现程序发起 HTTP POST 请求用于传递行为操作, OneBot 实现程序将会向服务端发起 HTTP POST 请求用于事件上报。
注意
HTTP 连接是无状态的,因此本连接器无法及时察觉 OneBot 实现程序掉线。只有在后续执行行为操作失败,或等待上报超时,才会发现 OneBot 实现程序掉线。
- __init__(onebot_host: str, onebot_port: int, listen_host: str, listen_port: int, secret: str | None = None, access_token: str | None = None, cd_time: float = 0.2, reconnect: bool = False, max_interval: float | None = None) None [源代码]¶
初始化一个 HTTP 全双工连接器
注意:本连接器服务提供路径为:”/”
HTTP 全双工连接器与 ws 有所不同。它无法即时发现 OneBot 实现程序掉线。
可以通过 max_interval 参数,启用“超时无上报则认为掉线”的功能。这一般要和 OneBot 实现程序的心跳功能一同使用。推荐设置值为心跳时间 + 1。
当然即使不启用此功能,当本连接器尝试发送行为操作失败时,也会认为 OneBot 实现程序已掉线。
- 参数:
onebot_host – onebot 实现程序 HTTP 服务的 host
onebot_port – onebot 实现程序 HTTP 服务的 port
listen_host – 此连接器服务端监听的 host
listen_port – 此连接器服务端监听的 port
secret – onebot 实现程序上报鉴权的 secret(建议从环境变量或配置中读取)
access_token – 本连接器操作鉴权的 access_token(建议从环境变量或配置中读取)
cd_time – 行为操作冷却时间(用于防止风控)
reconnect – 是否等待 OneBot 实现程序重新上线。默认为 False,即检测到 OneBot 实现程序掉线,将直接停止 bot;若为 True,则会等待 OneBot 实现程序重新上线,等待时所有行为操作将阻塞
max_interval – 等待 OneBot 实现程序上报的超时时间。超过此时间无任何上报,则认为已经掉线(默认值为 None,此时不启用此功能)
- onebot_url¶
onebot 实现程序提供服务的 base_url(形如:http://xxx:xxx)
- serve_site: aiohttp.web.TCPSite¶
本连接器服务端的站点对象
- client_session: aiohttp.ClientSession¶
本连接器客户端的会话
- max_interval¶
本连接器用于掉线判定的超时时间
- secret¶
上报鉴权的 secret
- access_token¶
操作鉴权的 access_token