聊天渠道连接教程

beginner
## 支持的渠道概览 OpenClaw 支持 25+ 聊天渠道,你可以把智能体连接到几乎所有主流聊天应用。所有渠道可以同时运行——一个 Gateway 同时连接多个平台,消息互不干扰。 主要支持的渠道包括: | 分类 | 渠道 | |------|------| | 国际主流 | WhatsApp、Telegram、Discord、Slack、Signal、iMessage | | 国内常用 | 微信、QQ、飞书 | | 办公协作 | Google Chat、Microsoft Teams、Matrix | | 亚洲地区 | LINE、KakaoTalk | | 其他 | IRC、XMPP、Nostr、WebChat(浏览器) | > **提示**:不确定你的聊天应用是否支持?运行 `openclaw channels list` 查看完整的渠道列表。 ## 最快上手:Telegram Telegram 是最简单的渠道,只需要一个 Bot Token,不到 5 分钟就能连上。推荐新手从这里开始。 ### 第一步:创建 Telegram Bot 1. 在 Telegram 中搜索 `@BotFather` 并打开对话 2. 发送 `/newbot`,按提示输入 Bot 名称和用户名 3. BotFather 会返回一个 Bot Token,类似 `123456789:ABCdefGHIjklMNOpqrsTUVwxyz` 4. 复制这个 Token ### 第二步:配置环境变量 ```bash export TELEGRAM_BOT_TOKEN="你的Bot Token" ``` 或者写入 `~/.openclaw/openclaw.json` 配置文件: ```json { "channels": { "telegram": { "botToken": "你的Bot Token" } } } ``` ### 第三步:启动 Gateway ```bash openclaw gateway run ``` 启动后,在 Telegram 中给你的 Bot 发消息,智能体就会回复了。 ## WhatsApp 连接 WhatsApp 使用二维码配对方式连接,类似 WhatsApp Web 的登录流程。 ### 连接步骤 ```bash openclaw channels login --channel whatsapp ``` 运行后终端会显示一个二维码,用手机 WhatsApp 扫描即可完成配对。 ### 限制谁可以发消息 默认情况下,所有给你 WhatsApp 号码发消息的人都会收到智能体回复。你可以通过 `allowFrom` 配置限制: ```json { "channels": { "whatsapp": { "allowFrom": [ "+8613800138000", "+8613900139000" ] } } } ``` 只有列表中的号码才能与智能体对话。 > **注意**:WhatsApp 连接需要保持手机在线。如果手机长时间离线,连接可能会断开,需要重新扫码。 ## Discord 连接 Discord 需要先创建一个 Bot 应用,获取 Token 后配置到 OpenClaw。 ### 第一步:创建 Discord Bot 1. 访问 [Discord Developer Portal](https://discord.com/developers/applications) 2. 点击 "New Application",输入名称 3. 进入 "Bot" 页面,点击 "Add Bot" 4. 复制 Bot Token 5. 在 "OAuth2 > URL Generator" 中勾选 `bot` 权限,生成邀请链接 6. 用邀请链接将 Bot 添加到你的服务器 ### 第二步:配置 OpenClaw ```json { "channels": { "discord": { "botToken": "你的Discord Bot Token", "guild": "服务器ID", "channel": "频道ID" } } } ``` ### 第三步:启动并测试 ```bash openclaw gateway restart ``` 在 Discord 频道中 @你的 Bot 即可开始对话。 ## 微信连接 微信通过 iLink Bot 插件实现连接,目前仅支持私聊消息。 ### 连接步骤 1. 安装 iLink Bot 插件(如果尚未安装) 2. 启动 Gateway 后,终端会显示微信登录二维码 3. 用微信扫描二维码完成登录 ```bash openclaw gateway run ``` ### 注意事项 - **仅支持私聊**:目前微信渠道只支持一对一私聊,不支持群聊 - **登录状态**:微信登录状态可能会过期,需要定期重新扫码 - **风控提醒**:频繁登录或大量自动回复可能触发微信风控,建议控制回复频率 ## QQ 连接 QQ 通过 QQ Bot API 接入,支持私聊和群聊两种模式。 ### 连接步骤 1. 在 [QQ 开放平台](https://q.qq.com/) 注册并创建机器人应用 2. 获取 AppID 和 Token 3. 配置到 OpenClaw: ```json { "channels": { "qq": { "appId": "你的AppID", "token": "你的Token" } } } ``` 4. 重启 Gateway: ```bash openclaw gateway restart ``` ### QQ 群聊配置 QQ 渠道支持群聊,但需要额外配置群号白名单: ```json { "channels": { "qq": { "appId": "你的AppID", "token": "你的Token", "allowGroups": ["群号1", "群号2"] } } } ``` ## 飞书连接 飞书通过 WebSocket 方式连接飞书机器人,适合企业内部使用。 ### 连接步骤 1. 在 [飞书开放平台](https://open.feishu.cn/) 创建企业自建应用 2. 启用机器人能力,获取 App ID 和 App Secret 3. 配置事件订阅,选择 WebSocket 模式 4. 配置到 OpenClaw: ```json { "channels": { "feishu": { "appId": "你的App ID", "appSecret": "你的App Secret" } } } ``` 5. 重启 Gateway: ```bash openclaw gateway restart ``` 飞书机器人支持私聊和群聊,在群聊中需要 @机器人 才会触发回复。 ## 群组行为 当智能体加入群组(Discord 频道、QQ 群、飞书群等)时,需要了解以下规则: ### 提及规则 在群组中,智能体默认只响应被 @ 提及的消息。这样可以避免对每条群消息都回复。 - **Discord**:`@BotName 你好` 触发回复 - **QQ 群**:`@机器人 你好` 触发回复 - **飞书群**:`@机器人 你好` 触发回复 - **Telegram 群**:`/start` 或 `@bot_username 你好` 触发回复 ### 群组白名单 你可以配置 `allowGroups` 限制智能体只在指定群组中响应: ```json { "channels": { "discord": { "allowGroups": ["频道ID1", "频道ID2"] } } } ``` ### 群组消息处理 群组中的消息处理与私聊有所不同: - 每个群组有独立的会话(session),群成员共享同一个对话上下文 - 智能体会看到所有群消息(即使没被 @),但只回复被提及的消息 - 群组会话的上下文可能增长较快,建议配置合理的压缩策略 ## 多渠道同时运行 OpenClaw 的一大优势是支持多渠道同时运行。一个 Gateway 实例可以同时连接 Telegram、WhatsApp、Discord 等多个渠道,消息按聊天来源自动路由。 ### 配置多个渠道 在配置文件中同时配置多个渠道即可: ```json { "channels": { "telegram": { "botToken": "Telegram Token" }, "whatsapp": {}, "discord": { "botToken": "Discord Token" } } } ``` 启动 Gateway 后,所有配置的渠道会同时连接。 ### 消息路由 每个渠道的消息是独立的: - Telegram 上的对话不会影响 WhatsApp 上的对话 - 每个渠道 + 联系人组合有独立的会话 - 智能体的记忆(Memory)是共享的,但会话(Session)是隔离的 ### 渠道优先级 如果你在多个渠道上与同一个智能体对话,每个渠道都是独立的会话。智能体不会"知道"你在另一个渠道说了什么(除非通过 Memory 记住了)。 ## 渠道状态检查 连接渠道后,可以随时检查各渠道的连接状态: ```bash openclaw channels status --probe ``` 该命令会显示每个渠道的连接状态、延迟和最后活跃时间。如果某个渠道显示断开,可以尝试: ```bash # 重新登录指定渠道 openclaw channels login --channel <渠道名> # 或者重启 Gateway openclaw gateway restart ``` ## 常见问题 **Q:连接断开了怎么办?** 运行 `openclaw channels status --probe` 检查状态,然后用 `openclaw channels login --channel <渠道名>` 重新连接。 **Q:可以同时连接多少个渠道?** 没有硬性限制,取决于你的服务器资源。一般同时连接 5-10 个渠道没有问题。 **Q:渠道消息有延迟怎么办?** 检查网络连接,特别是国内连接 WhatsApp、Telegram 等国外服务时可能需要代理。运行 `openclaw channels status --probe` 查看延迟数据。 **Q:微信/QQ 被风控了怎么办?** 降低自动回复频率,避免短时间内大量发送消息。建议设置合理的回复间隔和消息长度限制。 #OpenClaw渠道连接 #WhatsApp机器人 #Telegram机器人 #微信AI #QQ机器人 #龙虾技能库