不过,有一个非常重要的前提:酷Q官方已于2020年停止服务和维护,直接使用原版酷Q可能存在安全和法律风险,目前的主流做法是使用酷Q的替代方案,其中最流行、最稳定的是Mirai 和go-cqhttp。

下面我将以go-cqhttp (一个功能强大且易于使用的替代品)为例,为你详细讲解如何将QQ机器人部署到Linux云服务器上。
1、准备阶段:购买并配置一台云服务器。
2、部署阶段:在服务器上安装必要的环境,并配置 go-cqhttp。
3、运行阶段:启动机器人并使其在后台稳定运行。
4、连接应用:让你的机器人插件(例如基于NoneBot2、Koishi等框架开发的应用)连接到 go-cqhttp。

1、购买服务器:选择一家云服务商(如阿里云、腾讯云、华为云等),购买一台中国大陆地区的云服务器(非常重要,海外服务器登录QQ极易被风控),选择最基础的配置(1核1G或1核2G)就足够运行机器人了,系统选择Ubuntu 20.04/22.04 LTS 或CentOS 7/8(本文以 Ubuntu 为例)。
2、安全组设置:在云服务器的控制台,找到“安全组”配置,放行以下端口:
22 端口用于SSH连接。
8080 端口用于后续WebSocket通信(或其他你自定义的端口)。
5700 端口go-cqhttp的默认HTTP API端口。

6700 端口go-cqhttp的默认WebSocket端口。
* (建议)修改SSH默认端口,并设置只允许密钥登录,以提高安全性。
1、使用SSH连接服务器:
打开你本地电脑的终端(Windows可使用PowerShell或CMD,也可使用PuTTY、Xshell等工具),输入命令:
ssh root@你的服务器公网IP然后输入密码登录。
2、更新系统并安装所需软件:
# Ubuntu/Debian
apt update && apt upgrade -y
apt install wget unzip screen -y
# CentOS
yum update -y
yum install wget unzip screen -ywget,unzip 用于下载和解压文件。
screen 是一个终端复用工具,可以让你在断开SSH后程序依然运行。
1、下载 go-cqhttp:
前往 go-cqhttp 的 GitHub Release 页面:[https://github.com/Mrs4s/go-cqhttp/releases](https://github.com/Mrs4s/go-cqhttp/releases)
根据你的服务器架构选择最新版本,大多数云服务器是amd64 架构,选择类似go-cqhttp_linux_amd64.tar.gz 的文件。
在服务器上使用wget 下载:
# 进入一个工作目录,/opt
cd /opt
# 复制下载链接,使用 wget 下载
wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.0/go-cqhttp_linux_amd64.tar.gz
# 解压
tar -xzvf go-cqhttp_linux_amd64.tar.gz
# 进入解压后的目录
cd go-cqhttp2、生成并编辑配置文件:
首次运行会生成默认配置文件。
# 给予执行权限
chmod +x go-cqhttp
# 首次运行,生成配置文件
./go-cqhttp 此时程序会退出,并生成config.yml 文件,使用文本编辑器(如vim 或nano)来编辑它。
vim config.yml找到并修改以下关键配置项:
account:
uin: 1233456 # 填写机器人的QQ号
password: '' # 填写密码(为空时使用扫码登录)
encrypt: false # 不建议开启,除非你明确知道后果
status: 0 # 在线状态
relogin:
delay: 3
interval: 3
max-times: 0
...
# 连接服务列表
servers:
- http: # HTTP 通信设置
host: 0.0.0.0 # 监听所有网络接口
port: 5700 # HTTP API 端口
timeout: 120
post-format: array
secret: '' # HTTP API 访问密钥,建议设置一个复杂的密钥,‘YourSecretKeyHere'
middlewares:
<<: *default
- ws: # 正向 Websocket 设置
host: 0.0.0.0
port: 6700
middlewares:
<<: *default
# 反向WS不需要,可以注释或删除
#- reverse:
# universals:
# - 'ws://127.0.0.1:8080/cqhttp/ws'重点修改:
uin 和password填写机器人的QQ号和密码。
http.host 和ws.host确保是0.0.0.0。
secret强烈建议设置,这是你的应用连接API时的密码,防止他人恶意调用。
* 暂时不用反向WS,所以注释掉reverse 部分。
保存并退出编辑器(在vim中按ESC,然后输入:wq 回车)。
1、使用 Screen 运行(防止SSH断开后进程终止):
# 创建一个新的 screen 会话,命名为 qqbot
screen -S qqbot
# 在 screen 会话中运行程序
./go-cqhttp2、登录:
* 如果是首次登录,并且配置文件中密码为空,程序会提示你扫码登录。
* 如果填写了密码,则会自动密码登录,有时需要处理滑块验证,根据终端提示完成即可。
3、后台运行:
登录成功后,你可以按Ctrl + A,然后按D,将当前 screen 会话 detached(放到后台),此时即使你关闭SSH窗口,go-cqhttp也会继续运行。
想重新连接回这个会话查看日志,只需执行screen -r qqbot
你的 go-cqhttp(相当于酷Q)已经在服务器上运行了,它提供了HTTP和WebSocket API。
你的机器人应用(例如用NoneBot2、Koishi等框架编写)需要配置连接到这个API。
以 NoneBot2 为例,在你的机器人项目的.env 文件中,需要这样配置:
HOST=0.0.0.0 # 你的NoneBot应用监听的地址 PORT=8080 # 你的NoneBot应用监听的端口 指向你服务器上的 go-cqhttp API_ROOT=http://你的服务器IP:5700 API_TOKEN=YourSecretKeyHere # 与 config.yml 中的 secret 保持一致 ACCESS_TOKEN=YourSecretKeyHere # 同样与 secret 保持一致 WS_URL=ws://你的服务器IP:6700 # Websocket 连接地址
配置完成后,在你的本地电脑或另一台服务器上启动你的NoneBot应用,它就会连接到云服务器上的 go-cqhttp,开始处理消息了。
首选替代品不要再使用原版酷Q,优先选择go-cqhttp 或Mirai。
服务器地域务必使用中国大陆的服务器,极大减少风控风险。
安全风控腾讯对机器人行为监管严格,避免发送大量重复消息、频繁加群等行为,否则账号可能被临时封禁。
后台运行一定要使用screen、tmux 或systemd 等服务管理工具来守护进程,保证稳定在线。
安全配置务必设置API访问密钥(secret),并修改服务器SSH默认端口和密码。
按照以上步骤,你就可以成功地将你的QQ机器人部署到云服务器上,实现7x24小时稳定运行了。
文章摘自:https://idc.huochengrm.cn/fwq/15558.html
评论
南宫雁山
回复将QQ机器人部署到Linux云服务器上,首选替代方案是go-cqhttp,需准备云服务器、安装基础环境、下载并配置go-cqhttp,然后运行和登录,最后连接机器人应用。
波宛白
回复将QQ机器人部署到Linux云服务器上,首选替代方案是go-cqhttp,首先购买并配置云服务器,然后安装基础环境,下载并配置go-cqhttp,运行并登录,最后连接你的机器人应用。
纪问春
回复将酷Q部署到云服务器,需先购买云服务器,配置环境,上传酷Q程序,并确保网络连接。