POST /bot-post
提交机台状态报告。需使用 HMAC-SHA256 身份验证。
数据直接入库,需保证严格校验,望理解
接口地址
POST https://maiapi.chongxi.us/bot-post频率限制
接口受 WAF 保护。建议客户端在本地缓存数组,每 30 秒 发送一次。
身份验证
请求必须使用 HMAC-SHA256 进行签名。所有签名逻辑必须在客户端运行。
获取私钥:
Client ID 由开发者自定义(任意英文字母 + 数字),随后发送邮件至 qwq@chongxi.us 以获取私钥。
签名算法:
1. timestamp = 当前 Unix 毫秒时间戳 (string)
2. bodyHash = SHA-256( JSON.stringify(requestBody) )
3. stringToSign = "POST:/bot-post:{clientId}:{timestamp}:{bodyHash}"
4. signature = HMAC-SHA256( privateKey, stringToSign )请求头:
| Header | 值 |
|---|---|
Content-Type | application/json |
X-Client-ID | 开发者定义的 Client ID |
X-Timestamp | 毫秒时间戳 (string) |
X-Signature | HMAC-SHA256 十六进制摘要 |
请求体
上报对象组成的 JSON 数组:
[
{
"t": 101,
"v": 1,
"r": "BOT",
"bot_display_name": "可选名称"
}
]| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
t | int | ✅ | 上报类型代码,见下表 |
v | int | ✅ | 数值 — 大多数类型为次数;WAIT_TIME 为秒数 |
r | string | ✅ | 来源标识,如 "BOT" |
bot_display_name | string | ❌ | 在仪表盘显示的名称 |
在线测试
上报类型代码
| t | 名称 | 说明 | v 的含义 |
|---|---|---|---|
101 | ERR_NET_LOST | 机台断网 | 次数 |
102 | ERR_LOGIN | 机台无法登录 | 次数 |
103 | ERR_MAI_NET | 舞萌NET打不开 | 次数 |
104 | ERR_QR | 无法获取二维码 | 次数 |
105 | ERR_SCORE | 成绩上传失败 | 次数 |
202 | ACC_BAN | 进小黑屋 | 次数 |
300 | WAIT_TIME | 排队时长 | 秒 |
501 | — | 服务器恢复正常 | 次数 |
响应状态
| 状态码 | 说明 |
|---|---|
200 | 上报已受理 |
401 | 身份验证失败 |
429 | 被 WAF 频率限制 |
5xx | 服务器错误 |
在bot插件的repo内有client.py提供算法示例参考