微信引入个人机器人踩雷篇
如题。这个技术已经很成熟很方便了,具体可以看这个库: 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里设置passwd
或password
都不可以,检查发现是因为这两个参数不在config.py
里。需要解决如何设置管理员口令这个问题。
目前的管理员口令是启动机器人后,在日志流上会显示一个随机的临时口令。