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这会:
- 显示可用渠道
- 引导你完成认证
- 安全存储凭证
- 测试连接
设置
moltbot channels login whatsapp- 终端会显示一个二维码
- 打开手机上的 WhatsApp
- 进入「设置」→「已关联的设备」→「关联设备」
- 扫描二维码
- 等待「已连接」确认
凭证位置
~/.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 获取机器人令牌:
- 打开 Telegram 并给 @BotFather 发消息
- 发送 /newbot
- 按照提示为你的机器人命名
- 复制机器人令牌(类似 123456789:ABCdefGHI...)
- 在 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 中设置斜杠命令:
- 给 @BotFather 发消息
- 发送 /setcommands
- 选择你的机器人
- 发送:
start - 开始聊天
help - 显示帮助
reset - 清除对话Discord
设置
moltbot channels login discord你需要创建一个 Discord 应用:
- 前往 Discord 开发者门户
- 点击「新建应用」
- 进入「Bot」部分
- 点击「添加 Bot」
- 在「特权网关意图」下启用「消息内容意图」
- 复制机器人令牌
- 在 CLI 提示时粘贴
生成邀请链接
CLI 会生成邀请链接,或手动创建:
- 进入 OAuth2 → URL 生成器
- 选择范围:bot、applications.commands
- 选择权限:读取消息/查看频道、发送消息、嵌入链接、读取消息历史
- 使用生成的 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 应用:
- 前往 Slack API
- 点击「创建新应用」
- 选择「从头开始」
- 在 OAuth & 权限下添加机器人范围:chat:write、channels:history、groups:history、im:history、mpim:history
- 安装到你的工作区
- 复制 Bot User OAuth Token
- 在提示时粘贴
凭证
# 通过环境变量
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凭证存储位置表
凭证存储位置快速参考:
| 渠道 | 位置 |
|---|---|
~/.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 机器人离线
- 检查 Gateway 是否运行:moltbot health
- 验证令牌正确
- 检查机器人在服务器中有适当权限
速率限制慢一点!某些渠道限制发送消息的速度。Moltbot 会自动处理,但过度使用可能触发限制。
安全最佳实践
- 切勿公开分享机器人令牌
- 使用允许列表控制谁可以给你的机器人发消息
- 敏感部署定期轮换令牌
- 将凭证排除在版本控制之外
- 生产环境使用环境变量