POST /bot-post
提交机台状态报告。需使用 HMAC-SHA256 身份验证。
数据直接入库,需保证严格校验,望理解
接口地址
POST https://maiapi.chongxi.us/bot-post
频率限制
接口受 WAF 保护。建议客户端在本地缓存数组,每 30 秒 发送一次。
接口受 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 | 在仪表盘显示的名称 |
在线测试
推荐每 30s 批量发送一次,避免触发 WAF 限流。
上报类型代码
| 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提供算法示例参考