前置须知
酷Q Air/Pro 已于2020年停止服务,本文基于历史技术方案整理,仅适用于学习研究,当前推荐使用合规的机器人框架(如go-cqhttp、NoneBot等)配合云服务器部署,虚拟主机因权限限制可能无法完整运行。
环境要求与可行性分析
-
硅云虚拟主机限制
- 仅支持 PHP(5.6-7.4)及静态网页
- 无root权限,无法安装exe程序
- 禁用
exec(),system()等系统函数 - 不支持常驻进程或端口监听
-
酷Q运行原理冲突
- 需Windows系统环境
- 要求独立进程持续运行
- 需开启HTTP API或WS端口
:硅云虚拟主机无法直接运行酷Q本体,但可通过以下方案间接对接机器人服务。
替代方案:通过HTTP API反向通信
核心逻辑
graph LR A[酷Q本体] -->|运行于本地/云服务器| B(HTTP API插件) B --> C[发送数据到硅云接口] D[硅云虚拟主机] -->|PHP定时轮询| E(获取API数据) E --> F[处理并返回指令] F --> B
步骤详解
阶段1:部署酷Q服务端(非硅云)
- 准备一台Windows云服务器(或本地电脑)
- 安装酷Q Air/Pro + HTTP API插件
- 配置
config.cfg启用Web监听:[http] host = 0.0.0.0 port = 5700 # 默认端口 secret = your_strong_password # 密钥
- 启动酷Q并验证插件运行
阶段2:硅云虚拟主机搭建中控PHP
- 在硅云控制台创建MySQL数据库,存储机器人消息
- 上传PHP脚本到主机空间,示例结构:
/robot ├── index.php # 主调度器 ├── functions.php # 消息处理逻辑 └── config.php # 数据库配置 - 配置定时任务(硅云控制台 → 任务调度)
*/5 * * * * wget -q -O /dev/null http://你的域名/robot/index.php
阶段3:核心PHP代码示例config.php(数据库连接):
<?php
define('DB_HOST', 'sqx.xxx.com:3306'); // 硅云数据库地址
define('DB_USER', 'db_user');
define('DB_PASS', 'strong_password!');
define('DB_NAME', 'coolq_data');
index.php(消息拉取):
<?php
require 'config.php';
require 'functions.php';
// 从HTTP API获取新消息
$api_url = "http://你的云服务器IP:5700/get_msg";
$response = file_get_contents($api_url."?secret=your_strong_password");
if($data = json_decode($response, true)){
foreach($data['messages'] as $msg){
// 消息入库
save_message($msg);
// 业务逻辑处理
if($msg['message_type']=='private'){
handle_private_msg($msg);
}
}
}
// 执行待发送指令
process_queued_commands();
关键问题解决方案
硅云函数禁用问题
- 替代方案:
使用curl代替file_get_contents(需开启curl扩展):$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); curl_close($ch);
主动消息推送限制
- 实现方案:
通过数据库队列实现”伪推送”:CREATE TABLE `msg_queue` ( `id` INT AUTO_INCREMENT, `target_id` BIGINT NOT NULL, `message` TEXT, `sent` TINYINT DEFAULT 0, PRIMARY KEY(`id`) );
酷Q端定时请求硅云接口检查未发送消息
通信安全加固
// 硅云端验证请求来源
if($_SERVER['REMOTE_ADDR'] != '你的云服务器IP'){
http_response_code(403);
exit;
}
// 使用HTTPS传输
$api_url = "https://api.yourdomain.com/endpoint";
风险提示与合规建议
-
️ 法律风险
- 个人使用需遵守《网络安全法》
- 禁止发送垃圾信息/涉政内容
- 微信群聊机器人可能违反平台规则
-
安全防护
- 硅云防火墙设置IP白名单(仅允许酷Q服务器IP)
- HTTP API必须设置
access_token - 数据库账户禁用远程连接
-
替代建议
| 方案 | 成本 | 可行性 |
|———————|———|——–|
| 轻量应用服务器+NoneBot | 中等 | |
| 云函数+企业微信API | 低 | |
| 合规SaaS机器人平台 | 较高 | |
常见问题FAQ
Q:硅云主机能安装Docker跑机器人吗?
A:不支持,虚拟主机无法使用容器技术,需购买云服务器。
Q:为什么定时任务不执行?
A:检查硅云控制台任务日志,PHP脚本需添加执行权限(chmod 755 index.php)
Q:HTTP API连接超时如何解决?
A:① 确认云服务器防火墙开放5700端口 ② 硅云白名单添加服务器IP ③ 更换为WebSocket协议
引用声明
本文提及的第三方项目:
- CoolQ HTTP API [GitHub MIT License]
- go-cqhttp [GPLv3 License]
- 硅云产品文档 [www.vpsor.cn]
最后更新:2025年10月
作者:人工智能与云服务技术顾问
声明:本教程仅限技术交流,部署机器人请确保符合服务商政策及法律法规,由于平台限制变动,部分方案可能失效,建议咨询硅云客服获取最新技术支持。
