解决 Moltbot(Clawdbot) 在国内 Telegram 网络连接问题
最近在用 Clawdbot 的时候遇到了一个挺让人头疼的问题,跟大家分享一下怎么解决的。
事情是这样的,我重启了 gateway 之后,日志里一直报这么个错误:
[telegram] telegram setMyCommands failed: HttpError: Network request for 'setMyCommands' failed!
一开始我还以为是我搞坏了什么配置,翻来覆去检查了好几遍,后面才反应过来——这不就是网络问题嘛!
大家都知道,Telegram 在国内是被墙的,直接访问肯定是不行的。Clawdbot 默认配置里也没有设置代理,所以它尝试去调用 Telegram API 的时候自然就挂了。
解决办法其实很简单,就是给 Telegram 通道配置一个代理。我这边用的是本地的代理,端口是 8001,具体配置步骤如下:
首先打开配置文件:
vi ~/.clawdbot/clawdbot.
然后在 channels.telegram 部分加上 proxy 配置:
"channels": {
"telegram": {
"enabled": true,
"dmPolicy": "pairing",
"botToken": "你的token",
"groupPolicy": "allowlist",
"streamMode": "partial",
"proxy": "http://127.0.0.1:8001"
}
}
注意这里的 proxy 地址要根据你自己的实际情况来改,如果你用的是别的代理软件,端口可能不是 8001,换成你实际的代理地址就行。
配置完成后重启一下 gateway,问题就解决了!再也没有看到那个烦人的报错信息。
其实这个问题挺常见的,只是文档里没特别说明,所以第一次遇到的时候可能会摸不着头脑。希望这篇小分享能帮到遇到同样问题的小伙伴。
对了,如果你的代理不是 http 协议,比如是 socks5,格式也可以调整,Clawdbot 是支持的,具体要看你代理软件的配置。
就这样,简单记录一下这次踩坑的经历!