> ## Content Index
> Fetch the complete content index at: https://lucent.blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# [ChatGPT] 使用Python对接OpenAi APi 实现智能QQ机器人(三) - 搭建QQ机器人
- URL: https://lucent.blog/chatgptshi-yong-pythondui-jie-openaiapishi-xian-zhi-neng-qqji-qi-ren-san-da-jian-qqji-qi-ren/
- Published: 2022-12-08T13:15:13.000Z
- Updated: 2026-08-21T00:49:58.000Z
- Author: Lucent
- Tags: ChatGPT, QQ机器人

前两个文章我们已经解决了和ChatGPT通信的问题和QQ处理消息的问题，现在我们就需要处理如何监听QQ消息了

### 2023-02-22 21:32

- 逆向接口版本更新，Windows和Linux都可以直接使用
- [点击下载](https://wikicdn.dayz.plus/QQ%E6%9C%BA%E5%99%A8%E4%BA%BA202302222137.zip?ref=lucent.blog)

### 2022-12-14 19:56

官方接口版本发布，速度更快，接口更稳定  
请查看: <https://lucent.blog/?p=101>

### 2022-12-14 13:43

- 修改revChatGPT代码使其最新版本能够支持Linux和Windows系统运行  
[点击下载](https://wikicdn.dayz.plus/QQ%E6%9C%BA%E5%99%A8%E4%BA%BA202212141334.zip?ref=lucent.blog)  
使用教程依旧如下

### 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](https://docs.go-cqhttp.org/guide/quick%5Fstart.html?ref=lucent.blog)  
如果您感兴趣的话，可以阅读一下官方文档，如果不想看，直接看我的文章即可。

### 前提条件

- 您需要准备一个QQ号，不要使用自己大号
- 您需要准备一个OpenAi的账号，用来获取Token
- 一台服务器（可选，如果您想让机器人7x24小时在线的话，请准备一台，1核1G足以，外服最好）

注意：OpenAi（ChatGPT）的注册方式B站有一堆视频，随便参考一个就行。

### 搭建

#### 获取ChatGPT接口Token

首先登录ChatGPT [https://chat.openai.com/](https://chat.openai.com/?ref=lucent.blog)  

![ChatGPT首页.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/ChatGPT%E9%A6%96%E9%A1%B5_1670514930996.png)

  
登录后按F12打开调试面板,安装图中操作，将token复制出来并保存  

![复制token.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E5%A4%8D%E5%88%B6token_1670514993027.png)

#### 获取Api Key

这一步是可选的，如果你打算使用AI画图，请获取一下API Key  
登录OpenAi官网后  
[https://beta.openai.com/login/](https://beta.openai.com/login/?ref=lucent.blog)  
点击下面链接生成Api Key:  
[https://beta.openai.com/account/api-keys](https://beta.openai.com/account/api-keys?ref=lucent.blog)  

![image.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/image_1671017023160.png)

  
生成Api Key之后保存好

#### 修改代码

可以使用我打包好的文件，也可以根据前两个文章自行开发，推荐使用我打包好的(Windows、Linux通用):  
[点击下载](https://wikicdn.dayz.plus/QQ%E6%9C%BA%E5%99%A8%E4%BA%BA202212141334.zip?ref=lucent.blog)

下载解压后你会得到如下文件  

![文件夹介绍.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E6%96%87%E4%BB%B6%E5%A4%B9%E4%BB%8B%E7%BB%8D_1670515939706.png)

  
首先我们修改逻辑处理端,打开py文件夹  

![image.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/image_1670602392920.png)

  
用一个合适的编辑器打开**config.json**，如果没有合适的，用记事本打开也行  

![image.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/image_1670665259884.png)

如果所有消息都想用图片回复，max\_length可以设置为0，如果不想使用图片回复，可以设置为9999

打开后按图上的提示修改，修改后保存即可

然后修改 \* **QQ机器人\\QBot\*** 文件夹下的 **config.yml**  
这里可以不填密码，密码留空即可强制扫码登录  

![配置文件1.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B61_1670516331921.png)

![配置文件2.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B62_1670516344636.png)

#### 启动服务

##### 启动逻辑处理端

打开文件夹: QQ机器人\\py  
Windows系统双击 python-3.11.1-amd64.exe 安装Python环境  
已经有Python环境的不用安装  

![py安装.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/py%E5%AE%89%E8%A3%85_1670516513010.png)

***Linux系统请根据系统自行安装***  
环境安装完成之后，双击 **安装依赖.bat** 安装依赖  
***Linux系统请使用如下命令安装:***

```shell
pip3 install -r requirements.txt

```

依赖安装完成后，双击 **windows启动.bat** 启动逻辑处理端  
***Linux系统使用如下命令启动:***

```shell
# 前台运行
py chat-gpt-qbot.py
# 后台运行
nohup py chat-gpt-qbot.py &

```

启动后如下图所示  

![启动py2.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E5%90%AF%E5%8A%A8py2_1670516769815.png)

  
此时我们可以用浏览器访问 127.0.0.1:7777 可以看到如下图所示  

![image.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/image_1670516849646.png)

##### 启动监听端

打开文件夹 **QQ机器人\\QBot**  
Windows 双击 **go-cqhttp.bat** 即可启动  
注意此时需要输入 2 并回车，选择扫码验证登录  

![启动cq1.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E5%90%AF%E5%8A%A8cq1_1670517014944.png)

  
扫码后即可登录成功  

![启动cq2.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E5%90%AF%E5%8A%A8cq2_1670517046233.png)

注意：如果你打算部署到Linux服务器(不管什么系统的云服务器)上，你依然需要完成上述步骤，即在电脑上登录一次，然后将QBot文件夹里生成的文件上传到你的服务器上再完成启动流程(防止QQ风控)

**如果你看到下面这种提示，忽略就行不用管**  

![image.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/image_1670661151562.png)

***Linux启动需要使用如下命令:***

```shell
# 前台运行命令
./go-cqhttp
# 后台运行命令
nohup ./go-cqhttp > logs/`date -d yesterday +%Y%m%d`.log 2>&1 &

```

#### 测试

##### 私聊测试

![机器人回答.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E6%9C%BA%E5%99%A8%E4%BA%BA%E5%9B%9E%E7%AD%94_1670517294572.png)

##### 拉群测试

![拉群测试2.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/%E6%8B%89%E7%BE%A4%E6%B5%8B%E8%AF%952_1670517315165.png)

### 画图测试

直接生成图像：是将你的描述直接生成一个图  

![image.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/image_1671175637554.png)

生成图像：是将你的描述由ChatGPT润色后，根据其润色后的结果生成图像  

![image.png](https://img-1251540275.cos.ap-shanghai.myqcloud.com/blog/image_1671175712331.png)

**到此，您就拥有了一个接入了ChatGPT的QQ机器人**  
如果您有不懂的地方，欢迎加群讨论: 206867743