本教程来自:OpenGPT搭建QQ机器人-憨憨博客
注意!此篇已更新,请看更新后的新文章,如果看不懂,我建议查看原创博主的原文。
准备
一个服务器:Windos,Centos,Ubuntu
环境:Python
一个 QQ 号用作机器人
一个 OpenAI 账号 (注册教程自行搜索)
搭建
这里我用 Centos7 为例进行教程,其他系统类似
注册 OpenGPT
一瓶可乐钱注册OpenGPT
,教程链接:https://blog.ideaopen.cn/index.php/archives/143/
获取 OpenGPT 的 token
登录上自己的OpenGPT
账号,然后 F12
打开开发者工具,找到应用,选择 Cookie
,接着将__Secure-next-auth.session-token
的值复制出来一会用。
所需文件
先下载所需文件
https://wwqj.lanzoum.com/b041ius2j
密码:hanhanz.top
如果链接失效请联系我。
下载好解压缩里面有三个文件夹。
将 go-cqhttp_linux_amd64
和 py
上传到服务器。
配置 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/venv
解决方式:
这里报错的原因是因为我们需要一个虚拟环境,虚拟环境可以使不同的虚拟环境相互独立,不会影响到其他应用;可以防止出现包管理混乱和版本冲突,而且不会影响全局的 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/guide/quick_start.html
打开 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 运行截图
私聊
群聊
然后就可以愉快的使用了,想在群里使用的话,直接把机器人拉进群,然后 @机器人提问
建议打开禁止加好友,不然你懂得
我是对原作者的教程进行了细化,并且加了些我自己的改动,还是要多支持支持原作者
25 条评论
[...]不会注册也可以看看我博客的文章:一文教你快速注册OpenAi(ChatGPT)(旧版本)机器人搭建教程我也是写过了:使用OpenGPT(ChatGPT)搭建 QQ 机器人[...]
[...]不会注册也可以看看我博客的文章:一文教你快速注册OpenAi(ChatGPT)(旧版本)机器人搭建教程我也是写过了:使用OpenGPT(ChatGPT)搭建 QQ 机器人[...]
请问这种实现方式,运行时也需要科学上网吗?
[...]不会注册也可以看看我博客的文章:一文教你快速注册OpenAi(ChatGPT)(旧版本)机器人搭建教程我也是写过了:使用OpenGPT(ChatGPT)搭建 QQ 机器人[...]
您好,我运行chat-gpt-qbot.py这个时一直报error refreshing session错误,请问是哪里出错了吗
请看新的文章
就是按照您新的文章修改的 ∠( ᐛ 」∠)_
新版本你cf的人机验证可以绕过去吗
可以自动获取,显示获取成功,但之后会报
Traceback (most recent call last):
File "C:/Users/86157/PycharmProjects/DeepLearning/Robot/py/chat-gpt-qbot.py", line 285, in
chatbot = Chatbot(config, conversation_id=None)
File "C:\ProgramData\Anaconda3\lib\site-packages\revChatGPT\revChatGPT.py", line 96, in __init__
self.refresh_session()
File "C:\ProgramData\Anaconda3\lib\site-packages\revChatGPT\revChatGPT.py", line 308, in refresh_session
raise Exception("Wrong response code")
Exception: Wrong response code这个错误
没有绕过去,cf的v2很难绕,只能看运气
把revChatGPT.py这个文件第114行注释掉就可以开端口了,但是不知道为啥,不过能开就行
(´இ皿இ`)
这样子开了应该是不能用的
请问为什么会报这个错
Traceback (most recent call last):
File "/root/gptchat/py/chat-gpt-qbot.py", line 14, in
chatbot = Chatbot(config, conversation_id=None)
File "/root/anaconda3/envs/gpt/lib/python3.9/site-packages/revChatGPT/revChatGPT.py", line 96, in __init__
self.refresh_session()
File "/root/anaconda3/envs/gpt/lib/python3.9/site-packages/revChatGPT/revChatGPT.py", line 308, in refresh_session
raise Exception("Wrong response code")
Exception: Wrong response code
openai昨天加了个cf,会拦截人机请求,需要绕过,具体方法可以去网上搜索
老哥,pip安装库那里提示好多库的版本都搜不到是怎么回事啊
python>=3.8,我是3.9,pip直接用最新版本
奥,我还是2.7.。。
奥,我是2.7.。。
老哥,进行到安装依赖那一步了,然后不会了,是一点都不会了╮(╯▽╰)╭
pip安装就可以,python要>=3.8
怎么安装呢,我就看到你那几个代码,不知道点哪是安装,能教教我吗,纯小白
文章前部分就说了,python环境问题自己解决,如果这都不能解决,后面的一系列linux操作也难搞。
Python环境我百度查着弄好了,然后就不会了
这么快就分享了呀!
哈哈哈,这机器人挺好玩的