Moltbot 渠道接入

Moltbot 可以同时连接多个消息平台。本指南介绍如何设置每个渠道。

太长不看

# 交互式设置所有渠道 moltbot channels login # 或指定渠道 moltbot channels login whatsapp moltbot channels login telegram moltbot channels login discord moltbot channels login slack # 检查渠道状态 moltbot channels status

连接渠道

连接渠道最简单的方式是使用交互式命令行:

moltbot channels login

这会:

  1. 显示可用渠道
  2. 引导你完成认证
  3. 安全存储凭证
  4. 测试连接

WhatsApp

设置

moltbot channels login whatsapp
  1. 终端会显示一个二维码
  2. 打开手机上的 WhatsApp
  3. 进入「设置」→「已关联的设备」→「关联设备」
  4. 扫描二维码
  5. 等待「已连接」确认

凭证位置

~/.clawdbot/credentials/whatsapp/<accountId>/creds.json

配置

在 ~/.clawdbot/moltbot.json 中:

{ "channels": { "whatsapp": { "enabled": true, "allowFrom": ["allowlist.json"] } } }

允许列表

控制谁可以给你的机器人发消息:

nano ~/.clawdbot/credentials/whatsapp-allowFrom.json
{ "numbers": [ "+1234567890", "+0987654321" ], "groups": [ "MyGroupName" ] }
会话过期?WhatsApp 会话可能会过期。重新运行 moltbot channels login whatsapp 以重新连接。

Telegram

设置

moltbot channels login telegram

你需要从 BotFather 获取机器人令牌:

  1. 打开 Telegram 并给 @BotFather 发消息
  2. 发送 /newbot
  3. 按照提示为你的机器人命名
  4. 复制机器人令牌(类似 123456789:ABCdefGHI...)
  5. 在 CLI 提示时粘贴

凭证位置

令牌根据你的配置存储:

~/.clawdbot/credentials/telegram-token

或通过环境变量:

TELEGRAM_BOT_TOKEN=your-token-here

配置

{ "channels": { "telegram": { "enabled": true, "tokenFile": "~/.clawdbot/credentials/telegram-token", "replyToMode": "thread" } } }

回复模式

模式行为
thread在线程中回复(推荐用于群组)
direct直接回复消息
silent无通知声音

机器人命令(可选)

在 BotFather 中设置斜杠命令:

  1. 给 @BotFather 发消息
  2. 发送 /setcommands
  3. 选择你的机器人
  4. 发送:
start - 开始聊天 help - 显示帮助 reset - 清除对话

Discord

设置

moltbot channels login discord

你需要创建一个 Discord 应用:

  1. 前往 Discord 开发者门户
  2. 点击「新建应用」
  3. 进入「Bot」部分
  4. 点击「添加 Bot」
  5. 在「特权网关意图」下启用「消息内容意图」
  6. 复制机器人令牌
  7. 在 CLI 提示时粘贴

生成邀请链接

CLI 会生成邀请链接,或手动创建:

  1. 进入 OAuth2 → URL 生成器
  2. 选择范围:bot、applications.commands
  3. 选择权限:读取消息/查看频道、发送消息、嵌入链接、读取消息历史
  4. 使用生成的 URL 将机器人添加到你的服务器

凭证位置

# 通过环境变量(推荐) DISCORD_BOT_TOKEN=your-token DISCORD_APPLICATION_ID=your-app-id # 或配置文件 ~/.clawdbot/moltbot.json

配置

{ "channels": { "discord": { "enabled": true, "replyToMode": "thread", "allowedGuilds": ["123456789"], "allowedChannels": ["987654321"] } } }
机器人没有响应?确保在开发者门户中启用了「消息内容意图」。没有它,你的机器人无法读取消息内容。

Slack

设置

moltbot channels login slack

你需要创建一个 Slack 应用:

  1. 前往 Slack API
  2. 点击「创建新应用」
  3. 选择「从头开始」
  4. 在 OAuth & 权限下添加机器人范围:chat:write、channels:history、groups:history、im:history、mpim:history
  5. 安装到你的工作区
  6. 复制 Bot User OAuth Token
  7. 在提示时粘贴

凭证

# 通过环境变量 SLACK_BOT_TOKEN=xoxb-... SLACK_APP_TOKEN=xapp-... # 或配置 ~/.clawdbot/moltbot.json

配置

{ "channels": { "slack": { "enabled": true, "botToken": "xoxb-...", "appToken": "xapp-..." } } }

管理渠道

检查状态

moltbot channels status

输出:

Channel Status Account ───────────────────────────────── whatsapp connected +1234567890 telegram connected @MyBot discord connected MyBot#1234 slack disconnected

断开渠道

moltbot channels logout whatsapp

重新连接

moltbot channels login whatsapp

凭证存储位置表

凭证存储位置快速参考:

渠道位置
WhatsApp~/.clawdbot/credentials/whatsapp/<accountId>/creds.json
Telegram配置/环境变量或 ~/.clawdbot/credentials/telegram-token
Discord配置/环境变量(尚不支持令牌文件)
Slack配置/环境变量
允许列表~/.clawdbot/credentials/<channel>-allowFrom.json

多账户设置

运行同一渠道的多个账户:

{ "channels": { "telegram": { "accounts": { "personal": { "enabled": true, "tokenFile": "~/.clawdbot/credentials/telegram-personal" }, "work": { "enabled": true, "tokenFile": "~/.clawdbot/credentials/telegram-work" } } } } }

常见问题

「未授权」错误令牌无效或已过期。获取新令牌并重新运行 moltbot channels login。
WhatsApp 二维码不显示

确保在交互式终端中运行:

moltbot channels login whatsapp # 不要:moltbot channels login whatsapp &
Discord 机器人离线
  1. 检查 Gateway 是否运行:moltbot health
  2. 验证令牌正确
  3. 检查机器人在服务器中有适当权限
速率限制慢一点!某些渠道限制发送消息的速度。Moltbot 会自动处理,但过度使用可能触发限制。

安全最佳实践

  • 切勿公开分享机器人令牌
  • 使用允许列表控制谁可以给你的机器人发消息
  • 敏感部署定期轮换令牌
  • 将凭证排除在版本控制之外
  • 生产环境使用环境变量

下一步

消息渠道接入 | Moltbot 安装指南