Skip to content

本文档由 AI 编写,已经人工审核。

驱动器概览

驱动器是 NextBridge 与具体聊天平台之间的适配层。每个驱动器负责接收来自该平台的消息,以及向该平台发送消息。

支持的平台

平台驱动器接收发送备注
腾讯 QQNapCat使用非官方 NapCat WebSocket 桥接方案
DiscordDiscord通过 Bot 网关接收;通过 Webhook 或 Bot 发送
TelegramTelegram使用长轮询
飞书 / Lark飞书Webhook 接收;IM API 发送
钉钉钉钉Webhook 接收;机器人 API 发送
云湖云湖Webhook 接收;开放 API 发送
KOOK(开黑啦)KOOKWebSocket 接收;机器人 API 发送;上传至 KOOK CDN
VoceChatVoceChat
MatrixMatrix客户端同步循环;启用 enable_e2e 时支持 E2E 加密
SignalSignal需要 signal-cli REST API
Microsoft TeamsTeamsBot Framework 连接器
Google ChatGoogle Chat使用服务账号的 REST API
SlackSlackSocket Mode 或 Events API 接收;Bot 或 Webhook 发送
MattermostMattermostWebSocket 接收;REST API 发送
Rocket.ChatRocket.ChatOutgoing webhook 接收;REST API 或 incoming webhook 发送
WebhookWebhook仅发送的通用 HTTP webhook
WhatsAppWhatsApp使用 neonize(go-whatsapp Python 绑定),无需 Node.js

驱动器工作原理

每个驱动器在启动时会:

  1. 向桥接引擎注册发送器,使桥接引擎能够调用它来投递消息。
  2. 监听平台的消息(WebSocket、长轮询或 HTTP Webhook)。
  3. 将每条收到的消息规范化NormalizedMessage,并传递给桥接引擎。
  4. 当桥接引擎调用其发送器时,发送格式化后的文本和附件。

媒体文件处理

所有驱动器共享同一套媒体下载工具。当一条带附件的消息到达时,桥接引擎会将附件列表传递给目标驱动器的 send() 方法。各驱动器按照 max_file_size 配置的上限下载文件,并通过目标平台的原生 API 重新上传。

若文件超过大小限制或下载失败,则将文字回退内容附加到消息末尾:

[Image: photo.jpg](https://example.com/photo.jpg)