如题。这个技术已经很成熟很方便了,具体可以看这个库:
chatgpt-on-wechat
简单来说就是,如果你有一个服务器,跟着教程几条命令然后扫个码就可以使用了。
一些踩坑点:
我使用的是个人微信小号作为机器人,这个微信是刚注册的,因此一开始会报错,绑定一下银行卡实名认证就可以了。
登录之后,切回常用微信,结果也一直报错,发消息没有反应。后来检查发现是因为移动端不登陆也会导致桌面端被踢出,这太折磨了
如果你想看详细报错,最好一开始部署的时候就在config.json里加一条:"debug": ture,这样会打印更具体的错误原因,比如,我在实名认证、登录且不切号如此这般操作了多次后,发现我的环境没有装gemini所需的依赖:
1 | pip install -U google-generativeai |
顺带一提,gemini提供了15RPM(每分钟请求数);100万 TPM(每分钟令牌);1500 RPD(每天请求数)的免费额度,所以我用的是gemini。相应的,要在config.json中添加:
1 | "model": "gemini-1.5-pro", |
于是装上依赖后,现在可以流畅使用了。
另,每次重启都需要重新登陆,重启方法:
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里。需要解决如何设置管理员口令这个问题。
目前的管理员口令是启动机器人后,在日志流上会显示一个随机的临时口令。