使用OpenGPT(ChatGPT)搭建 QQ 机器人

本教程来自:OpenGPT搭建QQ机器人-憨憨博客

有问题可来我博客询问:我的博客

准备

一个服务器:Windos,Centos,Ubuntu

环境:Python

一个 QQ 号用作机器人

一个 OpenAI 账号 (注册教程自行搜索)

搭建

这里我用 Centos7 为例进行教程,其他系统类似

注册 OpenGPT

一瓶可乐钱注册OpenGPT,教程链接:https://blog.ideaopen.cn/inde...

获取 OpenGPT 的 token

登录上自己的OpenGPT账号,然后 F12 打开开发者工具,找到应用,选择 Cookie,接着将__Secure-next-auth.session-token 的值复制出来一会用。

所需文件

先下载所需文件

https://wwqj.lanzoum.com/b041...

密码:hanhanz.top

如果链接失效请联系我。

下载好解压缩里面有三个文件夹。

go-cqhttp_linux_amd64py 上传到服务器。

配置 py

安装 Python 就自行百度吧。

打开 chat-gpt-qbot.py

第 7 行填写自己的 QQ 号作为机器人。

第 9 行填上自己的 token。

然后滑到最下面,将 151 行的端口改成自己想用的。

填写完 Ctrl + S 保存。

安装依赖

cd /bot-test/py #这里的/bot-test/py是你存放文件的地方
pip install -r requirements.txt 或 pip3 install -r requirements.txt

可能出现的问题 1:

当我们运行 pip 时会报一个错(如果没报错就不用管了)下面是报错:

WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/...

解决方式:

这里报错的原因是因为我们需要一个虚拟环境,虚拟环境可以使不同的虚拟环境相互独立,不会影响到其他应用;可以防止出现包管理混乱和版本冲突,而且不会影响全局的 python 环境。

配置虚拟环境:

cd #回到根目录
python -m venv tutorial-env 或 python3 -m venv tutorial-env (tutorial-env是虚拟环境的名称,可以随意更改)
source tutorial-env/bin/activate
 

运行好上面的三行命令后,如果前缀已经变了的话,那就说明已经安装好虚拟环境了,我们就可以下一步了。

安装好虚拟环境后,我们就可以继续安装依赖了。

cd /bot-test/py #这里的/bot-test/py是你存放文件的地方
pip install -r requirements.txt 或 pip3 install -r requirements.txt

没有报错说明我们安装好依赖了,接下来运行 chat-gpt-qbot.py

python chat-gpt-qbot.py 或 python3 chat-gpt-qbot.py

显示这样就说明我们运行成功了,然后 Ctrl + C 结束运行,去配置 go-cqhttp

配置 go-cqhttp

官方地址:https://docs.go-cqhttp.org/gu...

打开 go-cqhttp_linux_amd64 文件夹里面的 config.yml 文件,并在第 4 行填上自己的机器人 QQ 号,密码不用填,我们进行扫码登录。

然后还是滑到最下面,在 108 行填上响应的 url

http://127.0.0.1:port 
#将port改成刚刚设置的端口号,我刚刚设置的是2666,所以我将port改成了2666就行

修改好之后保存,这样我们就可以运行了

cd bot-test/go-cqhttp_linux_amd64/ #同理bot-test/go-cqhttp_linux_amd64/是你的位置
./go-cqhttp

这里会提示权限不够。

chmod 777 go-cqhttp #对go-cqhttp文件进行提权

我们再运行,会让我们扫码。

此处图片包含二维码,请前往我博客查看完整文章。

可能会出现的问题 2:

这是因为不在一个网络环境里

解决方式:

在自己的电脑上打开刚刚下载的压缩包里的 go-cqhttp_windows_386 文件夹,再对 config.yml 配置一遍 (和刚刚在服务器上配置的一样),配置好双击运行 go-cqhttp.bat,然后会让我们扫码

此处图片包含二维码,说明同上。

扫码登录成功。

此处图片包含二维码,说明同上。

登录好之后,关闭窗口,在 go-cqhttp_windows_386 找到 session.token 文件。

session.token 上传到服务器上的 go-cqhttp_linux_amd64 文件夹里。

这个时候我们再运行./go-cqhttp 就行了,这样就登录成功了。

安装 screen 这个时候我们就配置好了,接下来就是让这两个程序同时进行,我们需要安装 screen

yum install screen -y

因为我已经安装过了,所以显示无须任何处理。

screen 的简单用法

screen -S name #新建一个运行空间,name可以随便写,例如:screen -S go-cq ,screen -S py 这里的S一定要大写
screen -D name #杀死命名为name的运行空间,杀死之后该运行空间就没了,里面运行的东西也就不会运行了
screen -r name #连接名字为name的运行空间
Ctrl + A + D #退出当前运行空间,但里面的运行的进程会一直运行,如果要对该进程进行操作,只需要运行上面的screen -r 即可进入

使用 screen 保持 bot 运行

py

screen -S pybot
source tutorial-env/bin/activate #需要进入虚拟环境
cd /cd /bot-test/py #这里的/bot-test/py是你存放文件的地方
python chat-gpt-qbot.py 或 python3 chat-gpt-qbot.py

然后我们 Ctrl + A + D 退出当前运行空间

go-cqhttp

screen -S go-cq
cd bot-test/go-cqhttp_linux_amd64/ #同理bot-test/go-cqhttp_linux_amd64/是你的位置
./go-cqhttp

然后我们 Ctrl + A + D 退出当前运行空间

到这里教程也就结束了让我们看一下结果吧

Bot 运行截图

私聊

群聊

然后就可以愉快的使用了,想在群里使用的话,直接把机器人拉进群,然后 @机器人提问

建议打开禁止加好友,不然你懂得

原作者:https://lucent.blog/?p=99

我是对原作者的教程进行了细化,并且加了些我自己的改动,还是要多支持支持原作者

52 声望
12 粉丝
0 条评论
推荐阅读
用嘴写代码?继ChatGPT和NewBing之后,微软又开始整活了,Github Copilot X!
AI盛行的时代来临了,在这段时间,除了爆火的GPT3.5后,OpenAI发布了GPT4版本,同时微软也在Bing上开始加入了AI,也就是NewBing。

JanYork_小简阅读 109

一个HTTP请求的曲折经历
作为程序员的我们每天都在和网络请求打交道,而前端程序员接触的最多的就是HTTP请求。平时工作中,处理网络请求之类的操作是最多的了。但是一个请求从客户端发出到被服务端处理、再回送响应,再被客户端接收这一...

nero24阅读 5.1k评论 1

Nginx 一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...
早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增...

民工哥23阅读 1.1k

封面图
Golang 中 []byte 与 string 转换
string 类型和 []byte 类型是我们编程时最常使用到的数据结构。本文将探讨两者之间的转换方式,通过分析它们之间的内在联系来拨开迷雾。

机器铃砍菜刀24阅读 58.3k评论 2

万字长文剖析ChatGPT
简单来说,ChatGPT 是自然语言处理(NLP)和强化学习(RL)的一次成功结合,考虑到读者可能只熟悉其中一个方向或者两个方向都不太熟悉,本文会将 ChatGPT 涉及到的所有知识点尽可能通俗易懂的方式展现出来,有基...

xiangzhihong15阅读 1.6k

最好用的 python 库合集
🎈 分词 - jieba优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果 {代码...} 🎈 词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出 {代码...} 🎈 ...

tiny极客11阅读 2.9k评论 2

封面图
计算机网络连环炮40问
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~

程序员大彬14阅读 1.8k

52 声望
12 粉丝
宣传栏