前提是严格按照以下教程中关于NapCat的配置,否则需要注意端口号是否是6099

Linux云崽部署教程

脚本设置方法

输入以进入脚本

1
napcat

来到脚本页面,进入配置Napcat,进入你的qq配置,配置HTTP服务器(正向http)
HTTP服务配置

名称随意,但是不要和ws客户端重合,host改为127.0.0.1,port随意,默认也行,Token为了安全性必须写

WebUI控制台设置方法

登录NapCat控制台

打开网址

记得开放6099端口号
http://<你的公网ip>:6099

登录页面
你需要输入部署napcat时配置的密码


新建HTTP服务器

按照如图步骤点击

新建


启动HTTP服务器

名称随便输入,打开启动,host改为localhost,输入token,点击保存

如果不改host的情况下不加token,那我可以使用这个服务器控制你的qq,不改的话耗子尾汁

配置


这个时候你会看到页面有两个框,一个是HTTP服务器,这个是刚刚创建的,另一个是WebSocket客户端,这是部署机器人时创建的,确保两个都在开启状态

这里由于我只是本地调用,所以host设置为localhost

检查是否成功


调用NapCat的API

NapCat-API地址

可以看到全是post请求

可以看到在跟api文档的对比中,多了Authorization字段,这是认证必须的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import axios from 'axios'
const token = 你填写的HTTP服务器Token
/**
* 给指定 QQ 用户点赞
*
* @async
* @param {string} url - NapCat API 地址,例如 "http://127.0.0.1:3000"
* @param {string|number} uid - 要点赞的 QQ 号
* @param {number} times - 点赞次数
* @returns {Promise<Object>} 返回 NapCat 接口响应数据
* @throws {Error} 如果请求失败会抛出异常
*
* @example
* await NapCatAPI.thumbsUp("http://127.0.0.1:3000", 2331329306, 5);
*/
async thumbsUp(url, uid, times) {
try {
const data = {
user_id: uid,
times: times
};

const response = await axios.post(`${url}/send_like`, data, {
headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }
});

return response.data;
} catch (error) {
logger.error(`[Syuan-Plugin] 为 ${uid} 点赞失败: ${error}`);
throw error;
}
},