前两个文章我们已经解决了和ChatGPT通信的问题和QQ处理消息的问题,现在我们就需要处理如何监听QQ消息了
2023-02-22 21:32
- 逆向接口版本更新,Windows和Linux都可以直接使用
- 点击下载
2022-12-14 19:56
官方接口版本发布,速度更快,接口更稳定 请查看: https://lucent.blog/?p=101
2022-12-14 13:43
- 修改revChatGPT代码使其最新版本能够支持Linux和Windows系统运行 点击下载 使用教程依旧如下
2022-12-13 14:01
- 增加一个Linux版本,可以自动获取cloudflare Cookie,如果你使用Windows版本依然不能自动获取,也可以在Windows上使用这个版本
2022-12-12 23:52
- 增加一个Windows专用版本,只能在Windows电脑或服务器上使用,可以自动获取cloudflare Cookie
2022-12-12 12:38 更新内容
- 增加CloudFlare配置,更新依赖,暂不支持账号密码,暂不知道CloudFlare配置多久需要更换一次,现在好像必须要翻墙了
2022-12-10 17:42 更新内容
- 增加账号密码支持,可以不使用token,直接使用账号密码
2022-12-10 00:23 更新内容
- 将每个QQ私聊区分,每个人私聊机器人都是一个独立的会话
- 将每个QQ群区分,每个QQ群是一个独立的会话
- 增加回复字数限制,超过限制转换成图片回复(见配置文件)
- 如果想要重置会话,对机器人发送:重置会话
简介
监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ机器人框架,在这里我们使用go-cqhttp 官方文档: go-cqhttp 如果您感兴趣的话,可以阅读一下官方文档,如果不想看,直接看我的文章即可。
前提条件
- 您需要准备一个QQ号,不要使用自己大号
- 您需要准备一个OpenAi的账号,用来获取Token
- 一台服务器(可选,如果您想让机器人7x24小时在线的话,请准备一台,1核1G足以,外服最好)
注意:OpenAi(ChatGPT)的注册方式B站有一堆视频,随便参考一个就行。
搭建
获取ChatGPT接口Token
首先登录ChatGPT https://chat.openai.com/ 登录后按F12打开调试面板,安装图中操作,将token复制出来并保存
获取Api Key
这一步是可选的,如果你打算使用AI画图,请获取一下API Key 登录OpenAi官网后 https://beta.openai.com/login/ 点击下面链接生成Api Key: https://beta.openai.com/account/api-keys 生成Api Key之后保存好
修改代码
可以使用我打包好的文件,也可以根据前两个文章自行开发,推荐使用我打包好的(Windows、Linux通用): 点击下载
下载解压后你会得到如下文件 首先我们修改逻辑处理端,打开py文件夹 用一个合适的编辑器打开config.json,如果没有合适的,用记事本打开也行
如果所有消息都想用图片回复,max_length可以设置为0,如果不想使用图片回复,可以设置为9999
打开后按图上的提示修改,修改后保存即可
然后修改 *QQ机器人\QBot* 文件夹下的 config.yml 这里可以不填密码,密码留空即可强制扫码登录
启动服务
启动逻辑处理端
打开文件夹: QQ机器人\py Windows系统双击 python-3.11.1-amd64.exe 安装Python环境 已经有Python环境的不用安装
Linux系统请根据系统自行安装 环境安装完成之后,双击 安装依赖.bat 安装依赖 Linux系统请使用如下命令安装:
pip3 install -r requirements.txt
依赖安装完成后,双击 windows启动.bat 启动逻辑处理端 Linux系统使用如下命令启动:
# 前台运行
py chat-gpt-qbot.py
# 后台运行
nohup py chat-gpt-qbot.py &
启动后如下图所示 此时我们可以用浏览器访问 127.0.0.1:7777 可以看到如下图所示
启动监听端
打开文件夹 QQ机器人\QBot Windows 双击 go-cqhttp.bat 即可启动 注意此时需要输入 2 并回车,选择扫码验证登录 扫码后即可登录成功
注意:如果你打算部署到Linux服务器(不管什么系统的云服务器)上,你依然需要完成上述步骤,即在电脑上登录一次,然后将QBot文件夹里生成的文件上传到你的服务器上再完成启动流程(防止QQ风控)
如果你看到下面这种提示,忽略就行不用管
Linux启动需要使用如下命令:
# 前台运行命令
./go-cqhttp
# 后台运行命令
nohup ./go-cqhttp > logs/`date -d yesterday +%Y%m%d`.log 2>&1 &
测试
私聊测试
拉群测试
画图测试
直接生成图像:是将你的描述直接生成一个图
生成图像:是将你的描述由ChatGPT润色后,根据其润色后的结果生成图像
到此,您就拥有了一个接入了ChatGPT的QQ机器人 如果您有不懂的地方,欢迎加群讨论: 206867743