微信引入个人机器人踩雷篇 | XYZ
Post

微信引入个人机器人踩雷篇

如题。这个技术已经很成熟很方便了,具体可以看这个库: chatgpt-on-wechat

简单来说就是,如果你有一个服务器,跟着教程几条命令然后扫个码就可以使用了。

一些踩坑点: 我使用的是个人微信小号作为机器人,这个微信是刚注册的,因此一开始会报错,绑定一下银行卡实名认证就可以了。

登录之后,切回常用微信,结果也一直报错,发消息没有反应。后来检查发现是因为移动端不登陆也会导致桌面端被踢出,这太折磨了

如果你想看详细报错,最好一开始部署的时候就在config.json里加一条:"debug": ture,这样会打印更具体的错误原因,比如,我在实名认证、登录且不切号如此这般操作了多次后,发现我的环境没有装gemini所需的依赖:

1
pip install -U google-generativeai

顺带一提,gemini提供了15RPM(每分钟请求数);100万 TPM(每分钟令牌);1500 RPD(每天请求数)的免费额度,所以我用的是gemini。相应的,要在config.json中添加:

1
2
  "model": "gemini-1.5-pro",
  "gemini_api_key": "YOUR API KEY",

于是装上依赖后,现在可以流畅使用了。

另,每次重启都需要重新登陆,重启方法:

ps -ef | grep app.py | grep -v grep 查询到进程pid(第一个数字)后,直接 kill [pid] 然后再运行 nohup python3 app.py & tail -f nohup.out 如果你把日志关了,一方面可以自己去文件里看,另一方面可以再重新打印: tail -f nohup.out

该库提供了管理员命令功能,对机器人发送[trigger word]#auth [password]即可认证为管理员,从而可以发送各种口令,详细发送#help即可查看。

发送指令需要加[trigger word]也是踩雷之后发现的,我在那儿发#help发半天触发不了,其实它做的逻辑是所有发给机器人的对话都要加上触发词才会识别,指令也一样。

因此,你修改了config但实在不想重启,可以发送#reconf来重载config,不用重新登录。

TODO: 提示可以修改管理员口令,但我在config里设置passwdpassword都不可以,检查发现是因为这两个参数不在config.py里。需要解决如何设置管理员口令这个问题。

目前的管理员口令是启动机器人后,在日志流上会显示一个随机的临时口令。

This post is licensed under CC BY 4.0 by the author.