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

news2024/12/23 0:13:07

本教程来自: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_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/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 运行截图

私聊

群聊

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java最流行的Spring框架该怎么学?阿里、腾讯、字节跳动等大厂面试中关于Spring都会问什么?

Spring作为现在最流行Java 开发技术,其内部源码设计非常优秀。如果你不会Spring,那么很可能面试官会让你回家等通知。 Spring是什么? 有一个工地,几百号人在用铁锹铲子挖坑。 如果开一辆挖掘机来,用一天时间干的活就…

【数据结构与算法】图

目录 一、图的基本概念 二、图的存储结构 1、邻接矩阵 2、邻接表 三、图的遍历 1、DFS 2、BFS 四、最小生成树 1、Kruskal算法 2、Prim算法 五、最短路径问题 1、Dijkstra 2、Bellman-Ford 3、Floyd-Warshall 总结 一、图的基本概念 图是由顶点集合及顶点间的关…

tslearn学习:快速入门

文章目录前言一、安装二、时间序列格式2.1 格式化时间序列2.2 读取标准数据集三、机器学习算法3.1 分类3.2 回归3.3 最近邻搜索3.4 聚类前言 tslearn快速入门学习。官网:tslearn quick-start 一、安装 采用pip install安装tslearn库 pip install tslearn二、时间…

基于C#制作一个音乐播放器

此文主要基于C#制作音乐播放器,可实现导入本地歌曲、音乐播放、音量设置、歌词显示等。 实现流程1.1、创建项目1.2、准备素材1.3、功能开发实现流程 1.1、创建项目 打开Visual Studio,右侧选择创建新项目。 搜索框输入winform,选择windows窗…

测控一体化闸门 灌区智能控制闸门 渠道智能测控闸门系统解决方案

平升电子测控一体化闸门系统/灌区智能控制闸门/渠道智能测控闸门系统解决方案集闸门远程/自动控制、渠道水位流量监测、远程通信、图像/视频监控等功能于一体,具备多种闸门启闭控制方式和多种流量计量方式,应用于支渠、斗渠、农渠的精准用水控制与计量。…

数据库原理及MySQL应用 | 程序流程控制

解决复杂问题不可能通过一个SQL语句完成,我们需要执行多个SQL操作。流程控制语句的作用就是控制存储过程或存储函数中SQL语句的执行顺序,是我们完成复杂操作必不可少的一部分。 流程控制语句是指可以控制程序运行顺序的语句,程序运行顺序主要…

各种数据类型的SPI, UART, I2C等方式的通信传输以及存储到EEPROM、Flash等设备的简易实现方法

各种类型的数据传输和存储就涉及到大小端的问题,首先要简单说下芯片的大小端问题,我们这里主要讨论Cortex-M内核。 M内核支持大端或者小端,实际应用中大部分内核都是小端。以STM32为例,全部都是小端,而且是芯片设计之…

Spring Cloud Alibaba Nacos Config - - - >多配置文件/共享配置

源码地址(重点开源码中的 nacos8030 模块):https://download.csdn.net/download/weixin_42950079/87264006 多配置文件 / 共享配置 在一个微服务架构应用系统中可能包含成百上千个微服务。而很多微服务可能都引入相同的中间件,当环境中引入的中间件较多时…

【eth uniswap】uniswap 自动路径(Auto Router)错误导致的swap超大损耗

____tz_zs 2022-06-09 稿 对于同时有v2池子和v3池子的Token,感觉最近uniswap的app的自动路由寻址(Auto Router)有点问题,找的永远是v3的(如示例caw/weth)池子。此时的情况是v3池子很小,只有几十…

用 HarmonyOS ArkUI 来开发一个健康饮食应用

本文演示如果在DevEco Studio 3里面,用HarmonyOS的ArkUI来开发一个健康饮食应用。体验HarmonyOS 3最新API 9! 获取HarmonyOS应用 HarmonyOS的ArkUI来开发一个健康饮食的ArkUI程序“ArkUIHealthyDiet”,基础代码已经有了[1],个人…

【数据结构初阶】八大排序算法+时空复杂度

学会控制自己是人生的必修课 文章目录一、插入排序1.直接插入排序2.希尔排序二、选择排序1.直接选择排序2.堆排序(已经建好堆的基础之上)三、交换排序(Swap)1.冒泡排序(大学牲最熟悉的排序)2.快速排序&…

Python 数据库开发实战-Mac系统下通过homebrew安装Redis数据库

此文章的前置条件是 “Mac系统已安装过Homebrew”,如果未安装,可访问 “Mac 安装 homebrew 详细教程” 一文,详细介绍Homebrew的用法。利用 “Homebrew” 对 “Redis” 进行安装管理,那是一个方便啊。 利用 homebrew 安装 Redis …

【Windows逆向】【Qt】日志信息打印

▒ 目录 ▒🛫 导读需求开发环境1️⃣ 示例程序Demo2️⃣ 编写功能(QtCreator版本)3️⃣ 编写功能(VS版本)🛬 文章小结📖 参考资料🛫 导读 需求 调试是编程中常见的定位手段&#xf…

字节一面,操作系统这题没答好,可惜了

问题引入: 在曾经我们学习Linux的经历中,我们也是多次使用信号的。比如:当我们在使用xshell时,在命令行中按Ctrlc,这个键盘输入产生了一个硬件中断,被操作系统获取,解释成信号,发送…

两百行C++代码实现yolov5车辆计数部署(通俗易懂版)

这周用opencv简单实现了一下基于yolov5检测器的车辆计数功能,方法是撞线计数,代码很简单一共就两百多行,测试视频是在b站随便下载的。注:该代码只能演示视频demo效果,一些功能未完善,离实际工程应用还有距离…

JMeter整体综述

JMeter整体综述1. JMeter体系结构及运行原理1.1 主要的组件1.2 运行原理2. 元件执行顺序和作用域2.1 元件执行顺序2.2 元件执行作用域3. 参考1. JMeter体系结构及运行原理 负载模拟:负责模拟用户请求。如取样器有参数化的需求,可通过配置元件或前置处理器…

15.JavaScript 01

文章目录一、概念二、功能三、 JavaScript发展史四、 ECMAScript:客户端脚本语言的标准1、基本语法1. 与html结合方式2. 注释3. 数据类型4. 变量5. 运算符6. 流程控制语句7. JS特殊语法8. 练习:99乘法表2、基本对象1. Function:函数(方法)对象…

上线3天,下载4万,ChatGPT 中文版VSCode插件来了

ChatGPT 的 Debug 功能,有人应用化了。 ChatGPT 这几天可谓是风头无两。作为一个问答语言模型,它最大的优点就是可以回答与编程相关的问题,甚至回复一段代码。 尽管有人指出 ChatGPT 生成的代码有错误,但程序员们还是对它写代码、…

图像配准开源数据集资源汇总

Brown 数据集 数据集下载链接:http://suo.nz/3042bh 数据集由 1024 x 1024 位图 (.bmp) 图像组成,每个图像包含一个 16 x 16 图像块阵列。每个补丁都被采样为 64 x 64 灰度,具有规范的比例和方向。 ETHZ Toys 数据集下载链接&#xff1a…

Java中的语法糖(真甜)

什么是语法糖(Syntactic sugar) 语法糖是一个计算机数据,特指在编程语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。语法糖让程序更加简洁,有更高的可读性。 糖嘛&#xff0c…