Chatgpt-QQ机器人搭建

环境:云服务器Centos
此教程已于2023.2.22优化

下载对应资源包:

下载:
wget http://www.zhanghaobk.com:81/qq-rebot/linux/qq-rebot.tar.gz -O linux-qq-rebot.tar.gz
#Windows和mac的资源包请访问:http://www.zhanghaobk.com:81/qq-rebot
解压:
tar -zxf linux-qq-rebot.tar.gz

config.json填入api_key,可以去ChatGPT查看:

image-20230216165656782

在config.json中:

  • Command 触发命令
  • Regexp 关键词触发 (放在QQ消息开头,可以参考下面演示)
  • Filter 可以屏蔽关键词

安装运行go-cqhttp

#安装
rpm -ivh go-cqhttp_1.0.0-rc4_linux_amd64.rpm
#运行
go-cqhttp
#通信方式选择2
#第一次运行后会生成config.yml
#在config.yml中填上自己的QQ号,倒数第三行端口填6700
#再次运行go-cqhttp,可以进行QQ扫码登陆;云服务器的话推荐用QQ加密的方式登陆,请读者自行探索

注:扫码登陆QQ的方式仅限于手机与服务器端需要在同一局域网才行

运行main

./main

可以使用screen命令将maingo-cqhttp挂在后台:

screen -S chat-cqhttp
screen -S chat-main

screen命令具体使用可参考:https://www.cnblogs.com/sillage/p/13994332.html

登陆相关说明

  • 方式一
    使用Windows版本的go-cqhttp生成可用的device.json与session.token,替换到云服务器,(Linux和Windows云服务器通用)
  • 方式二
    使用TCPRoute实现,项目地址:https://github.com/GameXG/TcpRoute2
    此处以Linux云服务器为例,大致的使用方法是:
    下载压缩包:TcpRoute2-linux-amd64.zip
    解压和配置:
unzip TcpRoute2-linux-amd64.zip -d tcproute
cd tcproute
cp config.toml.example config.toml
vim config.toml

addr="127.0.0.1:7070"改为addr=":7070",当然端口你可以自定义,不一定非要用7070
运行TcpRoute2-linux-amd64

./TcpRoute2-linux-amd64

然后要用到v2ray这个软件,项目地址:https://github.com/2dust/v2rayNG
手机上添加相应配置如下:
image-1677054574725
输入一个备注名,IP和端口,其他不用管:
image-1677054642471
配置好后选择该配置,然后开启v2ray
服务器运行go-cqhttp然后手机QQ扫码就能正常登陆了。

上述两个方式可以具体可以参考视频:https://www.bilibili.com/video/BV1tW4y147pL/?spm_id_from=333.880.my_history.page.click&vd_source=452456772b820a1c5e17308614dca787

演示

image-20230216170638833

问题

open cache image db failed: resource temporarily unavailable

程序还在运行,先使用ps -ef | grep go-cqhttp查看程序ID然后kill掉再重新启动就好了

此问题可参考:https://github.com/Mrs4s/go-cqhttp/issues/1216

扫码失败,已失效或存在异常。190d5c58cb3895bf

扫码登陆QQ的方式仅限于手机与服务器端需要在同一局域网才行,可以参考前面的登陆相关说明

参考&&致谢

http://www.zhanghaobk.com/archives/chatgpt对接qq搭建qq聊天机器人

此时相望不相闻,愿逐月华流照君。