跳到主要内容

对接协议

原理

一般来说,对接是双向的

协议端收到新的事件时,协议端会发送到 PepperBot

PepperBot 想要调用 api,比如发送消息时,会发送调用请求到协议端

我们都需要配置

危险

如果你希望对接协议端,比如 QQ,需要同时运行 go-cqhttp 和 PepperBot

简单来说,就是打开两个窗口,一个运行 go-cqhttp,一个运行 PepperBot,微信等其他平台同理

配置 PepperBot 接收端口

bot = PepperBot(
port=53521,
debug=True,
)

事件接收端口只需要配置一次,所有协议端共用

开启 debug,修改文件(及导入的文件)时,PepperBot 将会自动重启服务

协议通信方式支持情况

协议\方向PepperBot 从协议端接收(接收事件)PepperBot 发送至协议端(调用 API)
onebotwebsockethttp
keaimaohttphttp
telegram不需要不需要

配置 PepperBot 接受协议和方式

bot.register_adapter(
bot_protocol="onebot",
receive_protocol="websocket",
backend_protocol="http",
backend_host="127.0.0.1",
backend_port=5700,
)

bot_protocol配置协议

receive_protocol配置 PepperBot 接收协议端推送事件的方式,根据上方表格设置,http或者websocket

配置协议端 API 的调用方式

bot.register_adapter(
bot_protocol="keaimao",
receive_protocol="http",
backend_protocol="http",
backend_host="192.168.0.109",
backend_port=8090,
)
  • backend_protocol配置协议端接收方式
  • backend_host配置协议端的 ip
  • backend_port配置协议端的端口

自定义事件接收 uri

默认情况下,自动生成的 uri 的格式是协议/通信方式

  • 通过 websocket 接收 Onebot 后端的事件推送——/onebot/ws/
  • 通过 http 接收可爱猫的事件推送——/keaimao/http/

可以通过给 register_adapter 提供receive_uri参数,自定义接收 uri