LI YAO'S BLOG

有趣的人生, 一半家长里短, 一半山川胡海

OpenClaw 整合 WhatsApp 和 Telegram 完整教程

OpenClaw 整合 WhatsApp 和 Telegram 完整教程

📖 前言

OpenClaw 是一个强大的 AI 助手框架,可以连接多种聊天平台。本教程将详细介绍如何将 OpenClaw 与 WhatsApp 和 Telegram 进行整合,让你可以通过这两个主流通讯工具与 AI 助手进行交互。

🎯 环境准备

系统要求

  • 操作系统: Linux (推荐 Ubuntu 20.04+ 或 Amazon Linux 2023)
  • Node.js: v18.0 或更高版本
  • npm: v8.0 或更高版本
  • OpenClaw: 2026.3.1 或更高版本

检查 OpenClaw 版本

1
openclaw --version

预期输出:

1
🦞 OpenClaw 2026.3.1 (2a8ac97)

检查网关状态

1
openclaw gateway status

确保网关正在运行。


📱 第一部分:WhatsApp 集成

步骤 1:确认 WhatsApp 插件已启用

1
openclaw plugins list

在输出中查找 whatsapp,状态应为 loaded。

步骤 2:配置 WhatsApp 通道

编辑 OpenClaw 配置文件:

1
openclaw config edit

或者手动编辑 ~/.openclaw/openclaw.json,添加以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"channels": {
"whatsapp": {
"enabled": true,
"accounts": {
"default": {
"dmPolicy": "open",
"groupPolicy": "open",
"groupAllowFrom": ["*"],
"allowFrom": ["*"],
"debounceMs": 0
}
},
"mediaMaxMb": 50
}
}
}

配置说明:

参数 说明 推荐值
enabled 是否启用 WhatsApp true
dmPolicy 直接消息策略 "open" (开放) 或 "pairing" (需批准)
groupPolicy 群组消息策略 "open" 或 "allowlist"
allowFrom 允许的发送者列表 ["*"] (所有) 或具体号码
mediaMaxMb 媒体文件最大大小 50 (MB)

步骤 3:启动 WhatsApp 登录

在终端执行:

1
openclaw channels login --channel whatsapp

系统会生成一个 QR 二维码,显示在终端中。

步骤 4:扫描二维码

  1. 打开手机上的 WhatsApp 应用
  2. 进入 设置 → 已链接设备 (Linked Devices)
  3. 点击 链接设备 (Link a Device)
  4. 使用手机摄像头扫描终端中显示的 QR 码

⚠️ 注意: QR 码会在 20-40 秒后过期,如过期请重新运行登录命令。

步骤 5:验证连接状态

1
openclaw channels status

成功连接后应显示:

1
- WhatsApp default: enabled, configured, linked, running, connected, dm:open, allow:*

步骤 6:发送测试消息

1
openclaw message send --channel whatsapp --target +86137... --message "WhatsApp 连接测试成功!"

📱 第二部分:Telegram 集成

步骤 1:创建 Telegram Bot

  1. 在 Telegram 中搜索并打开 @BotFather
  2. 发送命令 /newbot
  3. 按提示输入:
    • Bot 名称: 如 MyOpenClawBot
    • Bot 用户名: 必须以 bot 结尾,如 my_openclaw_bot
  4. 保存 BotFather 返回的 Token (格式类似:123456789:ABCdefGHIjklMNOpqrsTUVwxyz)

步骤 2:配置 Telegram Bot Token

1
openclaw config set channels.telegram.botToken YOUR_BOT_TOKEN_HERE

或者手动编辑配置文件:

1
2
3
4
5
6
7
8
9
10
11
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
"dmPolicy": "pairing",
"groupPolicy": "open",
"groupAllowFrom": ["*"]
}
}
}

步骤 3:重启网关

1
openclaw gateway restart

步骤 4:启动与 Bot 的对话

  1. 在 Telegram 中搜索你的 Bot 用户名 (如 @my_openclaw_bot)
  2. 点击 Start 或发送 /start 命令

步骤 5:获取配对码

发送消息后,OpenClaw 会收到消息并生成一个 配对码 (如 EDVZ2PBE)。

步骤 6:批准配对

在 EC2 服务器上执行:

1
openclaw pairing approve telegram EDVZ2PBE

成功后会显示:

1
Approved telegram sender 8523121225.

步骤 7:验证连接状态

1
openclaw channels status

成功连接后应显示:

1
- Telegram default: enabled, configured, running, mode:polling, token:config

步骤 8:发送测试消息

1
openclaw message send --channel telegram --target 8523121225 --message "Telegram 连接测试成功!"

🔧 第三部分:高级配置

1. 多账号配置

OpenClaw 支持配置多个 WhatsApp 或 Telegram 账号:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"channels": {
"whatsapp": {
"enabled": true,
"accounts": {
"default": {
"dmPolicy": "open",
"groupPolicy": "open"
},
"work": {
"dmPolicy": "pairing",
"groupPolicy": "allowlist",
"allowFrom": ["+8613800138000"]
}
}
}
}
}

2. 安全配置

限制允许的发送者:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"channels": {
"whatsapp": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": ["+86137...", "+86138..."]
},
"telegram": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": ["8523121225", "1234567890"]
}
}
}

使用配对模式(需要批准):

1
2
3
4
5
6
7
8
9
10
11
12
{
"channels": {
"whatsapp": {
"enabled": true,
"dmPolicy": "pairing"
},
"telegram": {
"enabled": true,
"dmPolicy": "pairing"
}
}
}

3. 群组消息配置

允许所有群组消息:

1
2
3
4
5
6
7
8
9
10
{
"channels": {
"whatsapp": {
"groupPolicy": "open"
},
"telegram": {
"groupPolicy": "open"
}
}
}

仅允许特定群组:

1
2
3
4
5
6
7
8
9
10
11
12
{
"channels": {
"whatsapp": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["+86137..."]
},
"telegram": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["8523121225"]
}
}
}

4. 媒体文件配置

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"channels": {
"whatsapp": {
"mediaMaxMb": 50,
"sendReadReceipts": true,
"textChunkLimit": 4000
},
"telegram": {
"mediaMaxMb": 20,
"parseMode": "Markdown"
}
}
}

🐛 第四部分:常见问题排查

问题 1:WhatsApp 无法扫描二维码

症状: QR 码显示但扫描后提示过期或无效

解决方案:

1
2
3
# 重新生成 QR 码
openclaw channels logout --channel whatsapp
openclaw channels login --channel whatsapp

问题 2:Telegram 收不到消息

症状: Bot 已创建但无法接收消息

解决方案:

  1. 确认 Bot Token 正确配置
  2. 检查是否已发送 /start 命令
  3. 查看网关日志:
    1
    openclaw logs --limit 50

问题 3:消息发送失败

症状: 发送消息时返回错误

解决方案:

1
2
3
4
5
6
7
8
# 检查通道状态
openclaw channels status

# 重启网关
openclaw gateway restart

# 查看详细日志
openclaw logs --follow

问题 4:配对请求不显示

症状: Telegram 发送消息后没有配对码

解决方案:

1
2
3
4
5
# 查看配对请求列表
openclaw pairing list telegram

# 手动批准(如果知道发送者 ID)
openclaw pairing approve telegram <CODE>

问题 5:网关无法启动

症状: openclaw gateway 命令失败

解决方案:

1
2
3
4
5
6
7
8
# 检查端口占用
sudo ss -tlnp | grep 18789

# 强制重启
openclaw gateway restart --force

# 查看详细错误
openclaw doctor --non-interactive

📊 第五部分:状态检查命令汇总

命令 说明
openclaw channels status 查看所有通道状态
openclaw gateway status 查看网关状态
openclaw plugins list 查看插件列表
openclaw pairing list 查看待批准的配对请求
openclaw logs --limit 50 查看最近 50 条日志
openclaw logs --follow 实时查看日志
openclaw doctor 运行健康检查

🔐 第六部分:安全建议

1. 使用配对模式

生产环境建议使用 pairing 模式,所有新联系人需要批准:

1
2
3
4
5
6
7
8
9
10
{
"channels": {
"whatsapp": {
"dmPolicy": "pairing"
},
"telegram": {
"dmPolicy": "pairing"
}
}
}

2. 配置允许列表

仅允许信任的号码/用户:

1
2
3
4
5
6
7
8
9
10
{
"channels": {
"whatsapp": {
"allowFrom": ["+86137..."]
},
"telegram": {
"allowFrom": ["8523121225"]
}
}
}

3. 限制网关访问

1
2
3
4
5
6
7
8
9
{
"gateway": {
"bind": "localhost",
"auth": {
"mode": "token",
"token": "your-secure-token"
}
}
}

4. 定期更新

1
2
3
4
5
# 更新 OpenClaw
openclaw update

# 检查版本
openclaw --version

📝 总结

通过以上步骤,你已经成功将 OpenClaw 与 WhatsApp 和 Telegram 进行了整合。现在你可以:

  • ✅ 通过 WhatsApp 发送和接收消息
  • ✅ 通过 Telegram 发送和接收消息
  • ✅ 在两个平台之间无缝切换
  • ✅ 配置高级安全策略

快速参考

1
2
3
4
5
6
7
8
9
10
11
12
# WhatsApp 登录
openclaw channels login --channel whatsapp

# Telegram 配对
openclaw pairing approve telegram <CODE>

# 查看状态
openclaw channels status

# 发送测试消息
openclaw message send --channel whatsapp --target +86137... --message "Hello"
openclaw message send --channel telegram --target 8523121225 --message "Hello"

📚 参考链接


祝你使用愉快! 🎉

如有问题,欢迎查看官方文档或加入社区讨论。

赞赏一杯咖啡