--- url: https://wiki.awmc.team/dev/chart-preview-api.md --- # 🎵 谱面评价与分析 API 谱面预览平台的公开 REST API,支持谱面查询、评论、评分、成绩提交与排行榜等功能。 ::: tip 平台地址 * **Base URL**: `https://v.wmc.pub/api/v1/` * **源码仓库**: [Pimeng/Maimai-Chart-Preview](https://github.com/Pimeng/Maimai-Chart-Preview) ::: ::: warning 🔐 鉴权方式 业务请求须在请求头携带: `Authorization: Bearer ` 获取方式:登录 https://v.wmc.pub → 顶部导航栏钥匙图标 → `/api-keys` 页面 → 新建 API Key。 ::: ::: danger ⚠️ 注意 API Key **仅在创建时显示一次**,丢失需重新创建。 ::: *** ## 获取 API Key 1. 登录网站 (https://v.wmc.pub) 2. 点击顶部导航栏钥匙图标,进入 `/api-keys` 页面 3. 点击「新建」,输入名称,创建后复制保存 *** ## 接口列表 ### 1. 谱面接口 #### 1.1 获取谱面列表 *** #### 1.2 获取谱面详情 **:chartKey 格式**: `{songId}:{kind}:{difficulty}`,例如 `123:dx:4` *** #### 1.3 获取谱面标签摘要 **字段说明**: | 字段 | 类型 | 说明 | |------|------|------| | tags.difficultyClassification | object | 难度分类:tag=normal/water/fake,label=正常谱/水/虚高谱 | | tags.difficultyClassification.estimatedLevel | float | 回归模型预测的难度值 | | tags.difficultyClassification.deviation | float | 预测值与官标的偏差(正=虚高,负=偏低)| | tags.radarTags | array | 雷达轴高分项,score 0-100 | | tags.evaluationTags | array | 评估轴高分项(体力谱/底力谱/星星谱/键盘谱/高物量)| | tags.features | array | 回归模型贡献最大的特征,direction=up/down 表示提升/降低难度 | | tags.features.contribution | float | 该特征对难度值的贡献量(正=加难度,负=减难度)| | tags.patterns | array | 检测到的谱面模式,severity=high/mid/low | | tags.patterns.count | int | 该模式出现次数 | | tags.patterns.severity | string | high=高强度(strength≥5),mid=中等,low=低 | **radarTags 可能的 label**:交互、散打、扫键、绝赞段、转圈、大位移、定拍、拆弹、爆发、纵连、跳拍、错位、一笔画、反手 **evaluationTags 可能的 label**:体力谱、底力谱、星星谱、键盘谱、高物量 **features 可能的 label**:平均密度、高密度惩罚、峰值密度、滑条占比、触摸占比、交叉手、同位连打、跳拍节奏、一笔画、偏移、爆发段、转圈、横扫 **patterns 可能的 label**:错位星星、交互、纵连、跳拍、一笔画、反手/大位移同押、定拍、绝赞段、爆发、扫键、转圈、触摸拆分、散打、拆弹 *** ### 2. 评论接口 #### 2.1 获取谱面评论 *** ### 3. 评分接口 #### 3.1 获取评分统计 *** ### 4. 成绩接口 #### 4.1 获取成绩提交 *** ### 5. 排行榜接口 #### 5.1 获取排行榜 *** ### 6. 统计接口 #### 6.1 获取全局统计 *** ### 7. API Key 管理接口 ::: warning 🔐 需登录 以下接口需要通过网页登录后调用(浏览器 Session 或 JWT)。 ::: #### 7.1 创建 API Key #### 7.2 列出我的 API Key #### 7.3 删除 API Key *** ### 8. 管理员接口 ::: danger 🔒 需管理员权限 以下接口仅限管理员调用。 ::: #### 8.1 获取 API 使用统计 #### 8.2 获取调用趋势 *** ## 错误响应 所有接口在出错时返回统一格式: ```json { "message": "错误信息" } ``` | 状态码 | 说明 | |--------|------| | 401 | 未认证或 API Key 无效 | | 403 | 权限不足 | | 404 | 资源不存在 | | 500 | 服务器内部错误 | *** ## 快速开始 ```bash # 1. 获取谱面列表 curl -H "Authorization: Bearer mk_live_xxx" \ https://v.wmc.pub/api/v1/charts # 2. 获取谱面详情 curl -H "Authorization: Bearer mk_live_xxx" \ https://v.wmc.pub/api/v1/charts/123:dx:4 # 3. 获取谱面标签(Bot 用) curl -H "Authorization: Bearer mk_live_xxx" \ "https://v.wmc.pub/api/v1/charts/417:standard:5/tags" # 4. 自定义阈值(仅显示高分项) curl -H "Authorization: Bearer mk_live_xxx" \ "https://v.wmc.pub/api/v1/charts/417:standard:5/tags?radar_threshold=60&feature_threshold=1.0" # 5. 获取评论 curl -H "Authorization: Bearer mk_live_xxx" \ "https://v.wmc.pub/api/v1/charts/123:dx:4/comments" # 6. 获取排行榜 curl -H "Authorization: Bearer mk_live_xxx" \ "https://v.wmc.pub/api/v1/rankings?sort=rating&limit=10" ``` --- --- url: https://wiki.awmc.team/dev/chart-preview.md --- # 🎵 谱面预览 在浏览器中预览舞萌谱面。本项目根据落雪相关思路与公开 API 制作了独立页面,素材与逻辑遵循上游开源许可证。 感谢 [落雪(maimai.lxns.net)](https://maimai.lxns.net) 提供的资源支持。 由 **P1Meng** 开发,源码仓库:[Pimeng/Maimai-Chart-Preview](https://github.com/Pimeng/Maimai-Chart-Preview)。 ## 基准地址 正式入口:`https://v.awmc.cc/` 通过 **Query** 指定乐曲与谱面,完整 URL 形如: `https://v.awmc.cc/?song=417&kind=standard&diff=5` ## 查询参数说明 | 参数 | 说明 | |------|------| | `song` | 乐曲 ID,以**落雪乐曲 ID**为准。 | | `kind` | 谱面类型:`standard` 为标准谱,`dx` 为 DX 谱,`utage` 为宴会场(UTAGE)谱。 | | `diff` | 难度分级。常见对应关系为:`2` Basic、`3` Advance、`4` Expert、`5` Master、`6` Re:Master。具体以对应乐曲的 `maidata.txt` 为准。 | ## 交互示例 点击下方组件中的「在新标签页打开」,将使用当前填写的参数在**新标签页**打开预览页(不会在文档内嵌入页面或展示 JSON 响应)。 ## 鉴权与使用注意 * **无需鉴权**:可直接在浏览器中访问上述地址。 * 若参数或乐曲数据有误,预览页可能无法正常加载,请核对落雪侧乐曲 ID 与 `maidata.txt` 中的难度定义。 --- --- url: https://wiki.awmc.team/dev.md --- # 💻 开发者中心 ## 📊 Status API (原基准地址: `https://status.awmc.cc`) ::: danger ⚠️ 该接口已废弃 (Deprecated) AWMC 已停止提供状态 API,接口不再维护,请勿接入。舞萌服务器状态数据可参考社区项目 [mai.chongxi.us](https://mai.chongxi.us/)(与 AWMC 无任何关联)。 ::: ::: info 💡 服务概述 实时监控 AWMC 所提供的舞萌服务的运行状态(历史存档)。 ::: * **鉴权方式**: (对所有用户公开) * **访问限制**:`10 QPS` (每秒查询率) * **详细文档**:[点击查看 Status API 详情](/dev/status-api) ## 🔌 AWMC 公共 API (基准地址: `https://api.wmc.pub`) ::: info 💡 业务接口 提供用户数据 / 谱面查询、发票充值与队列、成绩上传(水鱼 / 落雪)等业务接口(新版 `/v1/user/*`、`/v1/charge` 等)。 ::: * **鉴权方式**: (需在 Authorization 中携带) * **消耗规则**:HTTP 成功且上游业务成功时扣 Token(普通接口 `returnCode===1`,health/ping 为 `0`)。对外路径尽量兼容旧 `/v1/*`。 * **详细文档**:[点击查看 AWMC 公共 API 详情](/dev/awmc-api) ## 🗂️ AWMCNET Bot API (基准地址: `https://net.wmc.pub`) ::: info 💡 成绩镜像与查询 面向 QueryBot 和查分器的成绩同步接口,支持同一个 `snapshot_id` 分块提交全量快照, 适合避免大成绩包一次性请求超时。 ::: * **鉴权方式**: * **主要接口**:`POST /api/bot/sync`、`GET /api/bot/player/{qq}` * **详细文档**:[点击查看 AWMCNET Bot API 详情](/dev/awmcnet-api) ## 🖼️ Assets 静态资源 API (基准地址: `https://download.wmc.pub`) ::: info 💡 静态资源 通过 download.wmc.pub 统一获取曲绘封面、谱面索引、单曲原始文件与打包;旧资源域名及 `/covers/:id` 不再作为接入方式。 ::: * **鉴权方式**: (公开访问) * **资源类型**:曲绘图片(格式以 `Content-Type` 为准)、谱面文本、音源、PV 与单曲包;批量包仍需人机验证。 * **详细文档**:[点击查看 Assets 静态资源 API 详情](/dev/assets-api) ## 🎵 谱面预览 (入口: `https://v.awmc.cc`) ::: info 💡 浏览器预览 在网页中查看舞萌谱面;参数与落雪乐曲 ID、谱面类型及难度档位对应,适合开发与分享链接。 ::: * **鉴权方式**: (公开访问) * **详细文档**:[点击查看谱面预览说明](/dev/chart-preview) ## 📊 谱面评价与分析 API (基准地址: `https://v.wmc.pub/api/v1/`) ::: info 💡 REST API 谱面预览平台的公开 REST API,支持谱面查询、评论、评分、成绩提交、排行榜等功能。需要 API Key 鉴权。 ::: * **鉴权方式**: (需在 Authorization 中携带) * **详细文档**:[点击查看谱面评价与分析 API 详情](/dev/chart-preview-api) ## 🚀 快速上手 你可以通过以下链接快速访问不同模块的开发文档: * [**舞萌状态 API**](/dev/status-api) - (已废弃)原用于获取服务实时在线状态、心跳记录及公告。 * [**AWMC 公共 API**](/dev/awmc-api) - 用户查询、发票充值队列、成绩上传(水鱼 / 落雪)。 * [**AWMCNET Bot API**](/dev/awmcnet-api) - 成绩镜像、玩家查询与分块快照同步。 * [**Assets 静态资源 API**](/dev/assets-api) - 曲绘、资源图库等静态文件获取。 * [**谱面预览**](/dev/chart-preview) - 浏览器内谱面预览与 Query 参数说明。 * [**谱面评价与分析 API**](/dev/chart-preview-api) - 谱面查询、评论、评分、成绩提交与排行榜 REST API。 * \[**更多功能**] - 正在开发中,敬请期待... ::: tip 建议 如果你在开发过程中遇到任何问题,欢迎通过 [GitHub](https://github.com/Michaelwucoc/awmc-wiki) 提交 Issue 或联系我们的团队。 也欢迎加入开发者交流群:[1067350296](https://qm.qq.com/q/TJUgWpUAcS),一起聊接口、排坑和协作。 ::: --- --- url: https://wiki.awmc.team/dev/status-api.md --- # 📊 Status API (Uptime Kuma) ::: danger ⚠️ 已废弃 (Deprecated) AWMC 已**停止提供**本状态 API。`status.awmc.cc` 下的相关接口不再维护,随时可能返回重定向或不可用。 本页内容仅作历史存档保留,**请勿在新项目中接入**。后续舞萌服务器状态数据建议使用社区项目 [mai.chongxi.us](https://mai.chongxi.us/):**该项目与 AWMC 没有任何关联**,由社区独立开发与维护,提供更多维度的监控数据,并支持用户自主上报状态。 ::: AWMC TEAM 使用 [Uptime Kuma](https://status.awmc.cc) 监控所有服务的运行状态。我们提供了公开的 API 端点,方便开发者获取实时的服务状态数据。 ::: info 💡 免密钥访问 本页列出的所有 API 均为**公开端点**。你不需要任何 API Key 或鉴权即可直接通过浏览器或脚本请求。 ::: ## 1. 状态页配置与结构 该接口用于获取状态页的标题、公告(Incidents)、维护计划以及分组结构。 * **端点**: `GET /api/status-page/[slug]` * **完整示例**: `https://status.awmc.cc/api/status-page/maimai` ### 📢 公告与故障信息 (Incidents) ::: tip 💡 重要提示 你可以通过解析 `incidents` 数组来获取当前状态页上的置顶公告或故障说明。 ::: ```json { "incidents": [ { "id": 16, "style": "info", "title": "公告标题", "content": "公告的 Markdown 内容", "pin": true, "active": true, "createdDate": "2026-03-28 07:46:17" } ] } ``` ### 🛠️ 分组与监控列表 (Public Groups) ```json { "publicGroupList": [ { "id": 1, "name": "舞萌服务组", "monitorList": [ { "id": 12, "name": "Maimai DX Proxy", "type": "http" } ] } ] } ``` *** ## 2. 实时状态与心跳记录 由于基础接口不含实时状态,你需要调用专门的心跳接口。 * **端点**: `GET /api/status-page/heartbeat/[slug]` * **完整示例**: `https://status.awmc.cc/api/status-page/heartbeat/maimai` ### 返回示例 (JSON) ```json { "heartbeatList": { "12": [ { "status": 1, "time": "2026-03-29 15:28:18", "msg": "200 OK", "ping": 32 } ] } } ``` ::: warning ⚠️ 状态码解析 在 `heartbeatList` 中,`status` 字段代表了服务的当前健康状况: * **`1`**: **正常 (Up)** —— 服务响应正常,一切 OK。 * **`0`**: **离线 (Down)** —— 服务已崩溃或无法访问。 * **`2`**: **待定/异常 (Pending/Warning)** —— 服务虽然在线但可能响应极慢或返回了非预期结果。 * **`3`**: **维护中 (Maintenance)** —— 服务处于计划内的维护阶段(通常会跳过通知)。 ::: *** ## 3. 计划维护 (Maintenance) 当服务器有计划内的停机维护时,你可以通过 `maintenanceList` 获取。 ::: details 📅 如何解析维护信息? 如果 `maintenanceList` 不为空,你可以获取以下关键信息: * `title`: 维护的标题。 * `description`: 维护的详细描述。 * `start_date`: 维护开始时间。 * `end_date`: 维护预计结束时间。 ::: ```json { "maintenanceList": [ { "id": 5, "title": "数据库例行维护", "active": true, "interval": 0 } ] } ``` *** ## 🌐 智能状态预览 (Smart Live Demo) 以下是使用上述 API 接口实时抓取的 **maimai** 状态预览: ::: info 💡 智能排序逻辑 1. **业务优先**:按 NET服务器 > 机台服务器 > 会员服务器 > 二维码服务器 > ALL.NET服务器 排序。 2. **运营商优先**:自动识别你的 **国内运营商**(联通/电信/移动),将匹配你线路的服务器置顶。 ::: [//]: # "## 4. 自定义接口演示 (Custom Demo)" [//]: # [//]: # "你可以直接在 Markdown 中配置接口端点进行演示:" [//]: # [//]: # "" *** ### 💻 开发者如何实现“运营商优先排序”? 在开发状态页时,你可以参考以下核心代码逻辑。关键在于对服务器名称进行**关键词匹配**。 ```javascript // 1. 获取用户运营商信息 (支持跨域的方案) async function getUserISP() { try { // 推荐使用支持 HTTPS 的 myip.ipip.net (纯文本格式) const res = await fetch('https://myip.ipip.net/'); const text = await res.text(); if (text.includes('联通')) return '联通'; if (text.includes('电信')) return '电信'; if (text.includes('移动')) return '移动'; return '国内线路'; } catch (e) { return '识别失败'; } } // 2. 定义业务类型排序权重 (数值越大越靠前) const TYPE_WEIGHT = { "NET服务器": 500, "机台服务器": 400, "会员服务器": 300, "二维码服务器": 200, "ALL.NET服务器": 100 }; // 3. 执行智能排序算法 // const userISP = await getUserISP(); monitors.sort((a, b) => { let scoreA = 0; let scoreB = 0; // A. 根据业务类型加分 // Object.keys(TYPE_WEIGHT).forEach(key => { if (a.name.includes(key)) scoreA += TYPE_WEIGHT[key]; if (b.name.includes(key)) scoreB += TYPE_WEIGHT[key]; }); // B. 如果名称包含用户运营商,大幅加分 (置顶) if (a.name.includes(userISP)) scoreA += 1000; if (b.name.includes(userISP)) scoreB += 1000; return scoreB - scoreA; // 分数高的排前面 }); ``` *** ::: tip 🛠️ 接入建议 如果你想在自己的 App 中实现类似“服务状态灯”的功能: 1. **先获取** `status-page/maimai` 拿到 `publicGroupList`(确定有哪些服务)。 2. **再获取** `status-page/heartbeat/maimai` 拿到最新的 `status`(点亮对应的灯)。 3. **别忘了** 检查 `incidents` 数组,如果有 `active: true` 的公告,可以弹窗提醒用户。 ::: --- --- url: https://wiki.awmc.team/dev/awmc-api.md --- # 🔌 AWMC 网关公共 API(计费说明) 面向**使用者**:如何调用开放接口,以及 **Token 何时会扣费**。本文不讨论上游编解码实现。 ::: tip 平台地址 平台地址:https://api.wmc.pub 在线文档:https://wiki.awmc.team/dev/awmc-api 使用 **AWMC 通行证(论坛账号)** 登录控制台,在个人中心生成 `gw_` 令牌或使用登录 JWT。 ::: ::: warning 🔐 鉴权 业务请求须在请求头携带: `Authorization: Bearer <令牌>` * 浏览器登录后的 JWT,或在网站内生成的 **`gw_` 长期令牌**(勿泄露)。 ::: ::: tip 购买 Token 额度通过 **卡密兑换** 充入账户。卡密可在[爱发电商城](https://afdian.com/a/AWMC_TEAM?tab=shop)购买。\ 兑换:控制台个人中心,或 `POST /redeem`(需登录令牌)。 ::: ::: info keychip 机台 `keychip` 由网关服务端注入,**调用方无需也不应传递**。请求体只需提供业务参数(如 `qrcode`)。 ::: ::: danger 高风险操作(必读) 以下操作**极可能对账号产生不可逆转的严重后果**,请勿随意调用: 1. **改门**:`POST /v1/kaleidx-scope/upsert`(修改 Kaleidx Scope Gate 状态)。 2. **未验证收藏品写入**:通过 `POST /v1/item/upsert` 或 `POST /v1/user/upsert-all` 发送 **`itemKind` 为 `4`、`8`、`15` 等未充分验证的收藏品**数据。 网关不会替你拦截这些请求;调用即视为自行承担风险。 ::: ## 1. 服务地址与路径兼容 所有业务路径接在 **网关根地址** 之后,前缀为 **`/v1`**。 * 上游已升级为 **AWMC API v2 / v2-3 双模式**;**对外路由保持旧路径不变**(例如仍用 `/v1/user/data`)。 * 网关会**自动探测**上游代次(约 60 秒缓存):`GET /v1/health` 的响应带有 `upstreamVersion` 字段(`v2` 或 `v2-3`),以及 `sessionApi`(当前上游写接口是否为会话制)。 * **POST**:使用 **明文 JSON Body**(`Content-Type: application/json`)。zlib / Base64 由网关处理。 * 响应同时包含: * 上游字段:`returnCode`、`returnMessage`(成功时可能附带 `businessData`) * 兼容字段:业务成功时 **`code === 0`**,`msg` 尽量可二次 `JSON.parse` **成功判定(扣费与业务)** | 接口 | 上游成功条件 | |------|----------------| | `GET /v1/health` | `returnCode === 0`(ping) | | 其它业务 | `returnCode === 1` | | 会话制写接口(v2-3 上游) | 见 [§2.3 计费时机](#_2-3-会话制接口的计费时机-v2-3-上游) | 建议新客户端以 `returnCode` 为准;旧客户端可读 `code === 0`。 ## 2. Token 计费规则 * 下表 **「消耗」**:本次请求在 **HTTP 2xx** 且上游业务成功时扣除的 Token;**0** 表示不扣费。 * 余额不足返回 **403** `Insufficient balance`。 * 建议客户端超时 **180** 秒(购买 Charge 等写入更慢;`?sync=1` 同步等待模式建议 200 秒)。 * **会话制写接口**(v2-3 上游下的所有 `upsert` 类):**创建会话不扣费**,计费时机见 [§2.3](#_2-3-会话制接口的计费时机-v2-3-上游);上游为旧版 v2 时仍为「业务成功即扣费」。 ### 2.1 兼容旧路径 | 方法 | 路径 | 消耗 | 说明 | |------|------|------|------| | GET | `/v1/health` | 0 | 连通检查(映射 ping) | | POST | `/v1/user/data` | 2 | 用户基础数据 | | POST | `/v1/user/region` | 2 | 地区记录 | | POST | `/v1/user/music` | 4 | 全部成绩 | | POST | `/v1/user/charge` | 2 | 已持有 Charge(只读) | | GET | `/v1/charge/queue` | 0 | **占位**:上游已无真实队列,固定返回空 `tasks` | | POST | `/v1/charge` | 10 / 15 / 25 | 购买一张 Charge(`chargeId`/`charge` = **2 / 3 / 5** 时分别扣 **10 / 15 / 25** Token) | | POST | `/v1/update-lx` | 5 | 同步到落雪 LXNS(`key`+`qrcode`;旧字段 `type` 可忽略) | | POST | `/v1/update-fish` | 5 | 同步到 Diving-Fish(`token`+`qrcode`) | 配额分类中,`/v1/update-lx` 与 `/v1/update-fish` 属于**读取**(读取成绩并同步到外部服务);其余 `upsert`、删除、清空和购票接口属于写入。详见[配额与限流](/dev/quota)。 ### 2.2 新增路径 #### 基础读写(v2 时代新增) | 方法 | 路径 | 消耗 | 说明 | |------|------|------|------| | POST | `/v1/user/preview` | 1 | 用户预览 | | POST | `/v1/user/item-list` | 2 | 道具列表 | | POST | `/v1/user/kaleidx-scope` | 2 | 读取 Gate 状态(仅 v2 上游;v2-3 返回 410,改用 `/v1/user/item-list`) | | POST | `/v1/music/upsert` | 15 | 上传/覆盖成绩(v2:1–4 条同步返回;v2-3:**1–20 条,会话制**,见 §2.3) | | POST | `/v1/music/delete` | 10 | 删除成绩(v2:1–4 条;v2-3:会话制,保留游玩次数累计) | | POST | `/v1/item/upsert` | 20 | 添加/删除道具(**高风险见上文**;v2-3 支持**批量 `itemList`**,旧样式自动转换) | | POST | `/v1/ticket/clear` | 5 | 清空 Charge(v2-3:会话制) | | POST | `/v1/kaleidx-scope/upsert` | 30 | 改门(**高风险见上文**;v2-3 改映射 `upsert-kaleidx-gate`,`gateId` 限 **1–6**) | | POST | `/v1/user/upsert-all` | 25 | 合并写入(**仅 v2 上游**;v2-3 已移除,返回 410,请拆分为单接口) | #### 会话控制(v2-3 上游) | 方法 | 路径 | 消耗 | 说明 | |------|------|------|------| | POST | `/v1/upsert/continue` | 0 | 确认上传会话。**宽容幂等**:会话已被网关自动确认时直接返回当前状态,不会报错 | | POST | `/v1/upsert/check` | 0 | 轮询上传会话状态(幂等只读可重试);`upsert_status=2` 时**触发结算**(见 §2.3) | #### rival 免会话读取(rival-direct 补丁上游) | 方法 | 路径 | 消耗 | 说明 | |------|------|------|------| | POST | `/v1/rival/data` | 2 | 读取对手资料(游戏名等;无需 `qrcode` / `keychip`,见 §3.9) | | POST | `/v1/rival/music` | 4 | 拉取对手全部成绩汇总(每曲含每谱明细;无 FC/FS 字段,见 §3.9) | #### 资源查询(v2-3 上游,无需账号参数、同步返回) | 方法 | 路径 | 消耗 | 说明 | |------|------|------|------| | POST | `/v1/user/ping` | 0 | 游戏连接检查(`get-ping`,v2-3 专属;可用于判断上游代次) | | POST | `/v1/select/categories` | 1 | 资源分类列表 | | POST | `/v1/select/resource` | 1 | 按分类分页查询资源(`category` 必填;`query` / `offset` / `limit` 可选) | | POST | `/v1/select/music` | 1 | 分页查询曲目与谱面常量(含 `charts`,`constant` 定数) | | POST | `/v1/select/music-unlock-plan` | 1 | 乐曲解锁候选清单(**资源候选**,非账号实时缺失清单) | #### 账号资料修改(v2-3 上游,均会话制) | 方法 | 路径 | 消耗 | 说明 | |------|------|------|------| | POST | `/v1/music/upsert-fuzzy` | 15 | 模糊上传成绩(`dxStar` 半星档 0–7,`dxScore=0` 时生效) | | POST | `/v1/user/play-count` | 8 | 设置游玩次数(`playCount` 累计 / `currentPlayCount` 当前版本) | | POST | `/v1/user/maimile` | 8 | 设置 maimile 点数(0–99999) | | POST | `/v1/user/map-stock` | 8 | 设置地图库存(0–999) | | POST | `/v1/user/rating` | 10 | 设置显示 Rating(不提升历史最高) | | POST | `/v1/user/course-rank` | 8 | 设置段位(0–23,同时补通关记录) | | POST | `/v1/user/class-rank` | 8 | 设置阶级(0–25,保留历史最高) | | POST | `/v1/user/chara-slot` | 8 | 设置出击角色栏(0/1/5 个角色 ID) | | POST | `/v1/user/character` | 8 | 修改角色等级 / 觉醒 / 使用次数 | | POST | `/v1/user/intimate` | 8 | 修改搭档亲密度(`partnerId` 用查询返回的 `naviCharaId`) | | POST | `/v1/user/map-complete` | 15 | 直接完成指定地图并补奖励(**高风险**) | | POST | `/v1/user/map-challenge` | 15 | 推进地图到未获得挑战曲前(不允许进度回退,**高风险**) | | POST | `/v1/user/login-bonus` | 8 | 设置登录奖励到差一个盖章 | | POST | `/v1/version/reset` | 10 | 重置账号到当前游戏版本(不代替乐曲解锁) | ### 2.3 会话制接口的计费时机(v2-3 上游) 上游为 **v2-3** 时,所有写接口(成绩 / 道具 / 发票 / 资料)都是**会话制三步**:创建 → 确认 → 轮询。网关把其中两步做掉了: ``` ① 创建 POST /v1/music/upsert(等业务接口) → 网关转发上游,返回会话对象(upsert_status=0,60 秒确认窗口) ② 确认 网关【自动】立即调用 upsert-continue,无需调用方操作 → 返回给调用方的响应已是「已确认、后台上传中」(upsert_status=1) ③ 轮询 POST /v1/upsert/check { "session_id": "..." } ← 调用方自己做 → upsert_status: 1 处理中 / 2 完成 / 3 错误 ``` **计费规则**(与旧版 v2「成功即扣费」不同): * **创建与确认阶段不扣费**; * 仅当 `/v1/upsert/check` 返回 `upsert_status === 2`(完成)时,按创建接口的定价**结算一次**(同一 `session_id` 永远只结算一次,幂等); * `upsert_status === 3`(上传失败)**不扣费**; * `/v1/upsert/check` 与 `/v1/upsert/continue` 本身**消耗为 0**。 **会话响应结构**(`businessData`,创建 / 确认 / 查询均返回): ```json { "session_id": "32位小写十六进制", "upsert_kind": "upsert-music-exact", "upsert_status": 1, "upsert_message": { "text": "后台上传中", "phase": "uploading", "total_rounds": 2, "completed_rounds": 1, "estimated_remaining_seconds": 30 } } ``` `upsert_message.result`(完成时)含 `verified`、`uploadedMusicCount`、`skippedMusicCount`、`noOp` 等结果字段;失败时读 `upsert_message.error`。**创建成功 ≠ 上传完成**,请务必轮询到终态。 失败终态里 `errorCode` 为 **`5006` / `5007` / `5104`** 时特殊:上游**已把数据写入、只是核对没跑完**(保存验证失败 / 上传中断),**结果可能已落库**——请先核对账号数据(或重查同一 `session_id`)再决定是否重发。 **`?sync=1` 同步模式**:给任何会话制写接口加查询参数 `?sync=1`(如 `POST /v1/music/upsert?sync=1`),网关会代为轮询直到终态(默认预算 180 秒)后**同步返回最终结果**——行为与旧版 v2 的同步语义一致,适合不想实现轮询的简单客户端。 **410 能力缺失**:当接口在当前上游代次不存在时,网关返回 `410` 与 `UPSTREAM_CAPABILITY_MISSING`(如 v2-3 上游下的 `/v1/user/upsert-all`、`/v1/user/game-event`、`/v1/user/kaleidx-scope`,或 v2 上游下的 `/v1/select/*`、`/v1/upsert/*`)。 **字段白名单**:v2-3 上游严格校验请求字段,多余字段会返回 `1205`。网关已按接口过滤(旧客户端的 `qr_text`、`type` 等历史遗留字段会被自动剔除),调用方按本文字段表传参即可。 ::: tip 控制台可视化 不想自己写轮询界面?登录 [api.wmc.pub 控制台](https://api.wmc.pub/dashboard.html),侧边栏「**上传会话**」页面可直接查看会话状态(摘要卡 + 状态徽章 + 行内实时刷新,存在处理中会话时每 5 秒自动轮询);对应 API 见 [§5.2](#_5-2-上传会话查询-需鉴权)。 ::: ### 充值 / 票券行为变更 1. `POST /v1/charge` 不再「入队」,而是直接购买 Charge;Body 可用 `charge` 或 `chargeId`,**仅允许 2 / 3 / 5**(2倍票 / 3倍票 / 5倍票),分别扣 **10 / 15 / 25** Token,其它值返回 400。 2. `GET /v1/charge/queue` 保留路径但**无真实任务**;请勿依赖队列状态轮询。 3. 查询已持有票券请用 `POST /v1/user/charge`。 ## 3. 开放接口调试 在下方 **鉴权设置** 中填入有效令牌,再填写参数测试。 ### 3.1 健康检查(不计费) ### 3.2 用户查询(计费 / JSON Body) 以下接口均为 **POST**,Body 字段 **`qrcode`**。 ### 3.3 购买 Charge 与队列占位 ### 3.4 成绩写入(传歌曲)— 详细说明 > **不要和** `POST /v1/user/music`(**查询**全部成绩)搞混。\ > **写入 / 覆盖**请用 `POST /v1/music/upsert`;**删除**用 `POST /v1/music/delete`;**模糊上传**用 `POST /v1/music/upsert-fuzzy`。 #### 一次请求能干什么? * Body 里带 `qrcode` + `musicList`(数组)。 * `musicList` 长度:**v2 上游 1~4 条**;**v2-3 上游 1~20 条**(服务端自动分轮)。 * 每一项用 **`(musicId, level)`** 唯一确定一条谱面成绩。 * 消耗 **15 Token**;**v2 上游**成功条件为 `returnCode === 1`(同步返回);**v2-3 上游**为会话制(见 §2.3),返回会话对象后轮询 `/v1/upsert/check`,或加 `?sync=1` 同步等待。 #### `level`(难度) | 值 | 难度 | |---:|------| | 0 | BASIC | | 1 | ADVANCED | | 2 | EXPERT | | 3 | MASTER | | 4 | Re:MASTER | | 10 | 宴会场 UTAGE | #### 精确 / 模糊两种模式(最容易搞错) **v2 上游**(旧契约,`fuzzy` 布尔开关): | 模式 | `fuzzy` | `achievement` | `dxScore` 含义 | |------|---------|---------------|----------------| | **精确** | `false` | 目标达成率,如 `100.9444` | **实际 DX 分数**(如 `2947`) | | **模糊** | `true` | 希望达到的**最低**达成率 | **DX 星级 0~5**(不是实际 DX 分!) | **v2-3 上游**(新契约,精确 / 模糊拆成两个接口): | 接口 | 说明 | |------|------| | `/v1/music/upsert`(→ `upsert-music-exact`) | 精确模式:`achievement` 推荐协议整数(`100% = 1000000`,**整数 100 不是 100%**);`dxScore` 为实际 DX 分,不得超过谱面上限 | | `/v1/music/upsert-fuzzy`(→ `upsert-music-fuzzy`) | 模糊模式:`dxStar` **半星档 0~7**(`dxScore=0` 时生效);不足四位的百分比小数会在缺失位随机补 1–9 | `dxStar` 最低完成度:`0` 不限 · `1` 85% · `1.5` 87.5% · `2` 90% · `2.5` 91.5% · `3` 93% · `3.5` 94% · `4` 95% · `4.5` 96% · `5` 97% · `5.5` 98% · `6` 99% · `6.5` 99.5% · `7` 100%。 ::: tip 旧客户端兼容 v2 时代「`musicList` 项内 `fuzzy: true`」的老写法在 v2-3 上游下仍可用——网关检测到后会**自动改投** `upsert-music-fuzzy` 并清理该字段;`fuzzy` 标记必须整批一致,否则返回 400。 ::: #### Combo / Sync 枚举 * Combo:`none` / `fc` / `fcp` / `ap` / `app`(v2 可传字符串;v2-3 传整数 0~4) * Sync:`none` / `fs` / `fsp` / `fsd` / `fsdp` / `sync`(v2 可传字符串;v2-3 传整数 0~5) #### 最小可用示例(v2-3 精确模式) ```json { "qrcode": "SGWCMAID...", "musicList": [ { "musicId": 11479, "level": 3, "achievement": 1009444, "dxScore": 2100, "comboStatus": 4, "syncStatus": 0 } ] } ``` #### 模糊模式示例(v2-3,dxStar 半星档) ```json { "qrcode": "SGWCMAID...", "musicList": [ { "musicId": 11176, "level": 2, "achievement": 1000000, "dxScore": 0, "dxStar": 3, "comboStatus": 2, "syncStatus": 0 } ] } ``` `musicId` 必须换成当前版本真实存在的曲目 ID,否则上游可能返回 `5004`;`dxScore` 超过谱面上限返回 `5009`。 更完整的字段表与示例也可在 [API 调试 / Swagger](/dev/api-docs) 中打开 **Score → `/v1/music/upsert`** 查看。 ### 3.4b 会话轮询(v2-3 上游) 会话制写接口返回的 `businessData.session_id` 用在这两个接口上: ### 3.5 高风险写入(请先阅读顶部警告) #### 道具写入契约(v2-3 上游) v2-3 支持**批量 `itemList`**(同 `itemKind`/`itemId` 不重复): ```json { "qrcode": "SGWCMAID...", "itemList": [ { "itemKind": 5, "itemId": 10030, "stock": 1, "isValid": true } ] } ``` * `itemKind`:1 姓名牌 / 2 称号 / 3 头像 / 4 礼物 / 5 乐曲 / 6 MASTER / 7 Re:MASTER / 10 搭档 / 11 底板 * 普通道具 `stock=1, isValid=true` 拥有、`stock=0, isValid=false` 移除 * 礼物(`itemKind=4`)的 `stock` 为**绝对库存**(非负整数),`itemId` 编码 = 来源类型 × 1000000 + 资源 ID * 全部跳过时上游返回 `noOp=true`,不上传 ::: tip 旧样式兼容 v2 时代的单件写法 `{ "itemKind": 2, "itemId": 11, "operation": "add" }`(`operation`:`add` / `del`)在 v2-3 上游下仍可用,网关自动转换为单元素 `itemList`。 ::: ### 3.6 成绩上传到第三方 ### 3.7 资源查询(v2-3 上游) 无需账号参数(不用传 `qrcode`),同步返回,每接口消耗 1 Token: ### 3.8 账号资料修改(v2-3 上游,会话制) 示例:设置游玩次数 / Rating。其余接口(`maimile`、`character`、`map-*` 等)见 [§2.2 账号资料修改表](#_2-2-新增路径),均为会话制(同 §2.3:创建 → 自动确认 → 轮询): ### 3.9 rival 免会话成绩读取(rival-direct 补丁上游) > **2026-10-17 起**,上游 rival 接口经实测为**免会话直连**:不需要 > 二维码(`qrcode`)也不用 `keychip`,直接按**好友码**(即 userid)拉取 > 对手资料与成绩。需要 rival-direct 补丁版上游(原版 v2-3 无这些端点, > 旧 v2 上游返回 410)。 > > **官方协议天生限制**:rival 成绩只有**达成率 + DX 分**,没有 FC / FS / > 同步状态字段;响应可能含 `musicId=0` 幽灵条目与 `achievement=0` 空成 > 绩,调用方需过滤。 **字段说明** * `achievement`:万分制整数(`997601` = 99.7601%);`deluxscoreMax` 为 DX 分。 * `level`:`0`–`4` = BASIC–Re:Master;宴场为 `10`(仅 `includeUtage: true` 时返回)。 * `musicId >= 10000` 为 DX 谱面,`< 10000` 为标准谱。 * 计费按 **read 配额**;上游失败(如密钥轮换后未更新 EXE 基线)返回 `errorCode` 5110–5113 的 `SdgbError`。 **curl 示例** ```bash curl -X POST https://api.wmc.pub/v1/rival/music \ -H "Authorization: Bearer <你的令牌>" \ -H "Content-Type: application/json" \ -d '{"rivalId": 13225939}' ``` ## 4. 公开 JSON 目录 ```http GET https://api.wmc.pub/api/docs ``` 返回各路径、方法、**消耗** 与简要说明(含风险提示文案)。 ## 5. 调用用量与失败率 ### 5.1 用量统计(需鉴权) | 方法 | 路径 | 说明 | |------|------|------| | GET | `/me/usage` | 本人调用明细分页 | | GET | `/me/usage/stats` | 本人日粒度统计;`days`=7/14/30 | ### 5.2 上传会话查询(需鉴权) v2-3 上游下本人的上传会话(也可在**控制台侧边栏「上传会话」页面**可视化查看:状态徽章、实时刷新、自动轮询): | 方法 | 路径 | 说明 | |------|------|------| | GET | `/me/upsert-sessions` | 本人会话分页(`limit` 默认 50 / `offset` / `status` 0-3),响应含 `summary` 状态汇总(pending/processing/completed/failed/billed) | | POST | `/me/upsert-sessions/refresh` | Body `sessionId`:向上游实时查询该会话并同步表内状态;`upsert_status=2` 时幂等结算;上游异常时仍返回表行 + `error` 字段 | ### 5.3 失败率(半小时精度) | 方法 | 路径 | 鉴权 | 范围 | |------|------|------|------| | GET | `/usage/failure-rate` | 无需 | 全站 | | GET | `/me/usage/failure-rate` | Bearer | 本人 | 固定近 7 天、30 分钟一桶。`codeZero` 表示业务成功计数(ping 的 `returnCode=0` 或其它业务的 `1`)。 ## 6. 常见错误 | HTTP / returnCode | 说明 | |------|------| | **401** | 令牌缺失或无效 | | **403** | 余额不足等 | | **410** | 接口在当前上游代次不可用(`UPSTREAM_CAPABILITY_MISSING`,见 §2.3) | | **4001** 等 | 上游业务错误(如用户正在登录中),见 `returnMessage` | | **5004 / 5009** | 谱面不存在 / DX 分超出谱面上限 | | **5101 / 5106** | 会话不存在或已清理 / 会话未在 60 秒内确认(v2-3;网关自动确认下罕见) | | **5110–5113** | rival 免会话直连失败(网络 / HTTP 非 200 / 响应解密失败 / 响应异常;解密失败多为 WAHLAP 密钥轮换,需更新上游 EXE 基线后重打补丁) | | **5006 / 5007 / 5104** | 上游保存验证失败 / 上传中断(v2-3 会话终态)——**数据可能已落库**,请先核对账号数据,勿盲目重发 | | **500 / 502** | 转发或解码失败 | ::: tip 建议 先调用 **`/v1/health`**(看 `upstreamVersion` 判断上游代次);再调用查询类接口。\ 购买票券用 **`/v1/charge`**,不要依赖 **`/v1/charge/queue`**。\ v2-3 上游下:会话制写接口拿到 `session_id` 后**务必轮询** `/v1/upsert/check` 到 `upsert_status` 为 2/3;忘记轮询不会丢结果(会话保留在上游,可随时续查),但计费只发生在轮询看到 `2` 时。\ 切勿在日志中记录二维码与第三方 Token。 ::: --- --- url: https://wiki.awmc.team/dev/assets-api.md --- # 🖼️ Assets 静态资源 & 谱面资源 API AWMC 的静态图片、谱面索引、原始文件与单曲打包,统一从 **[download.wmc.pub](https://download.wmc.pub)**(谱面下载站)访问。 公开接口**免鉴权**:自 2026-09-29 起,**单曲**(maidata / 音源 / 曲绘 / PV,以及这首曲子的 zip、adx)**不再要求人机验证**;版本包、全版本包、删除曲包及自定义多选等批量下载仍需验证码。 > 旧资源域名已停用,不能只替换域名继续使用 `/covers/:id`;请改用下面的实际封面路径或单曲文件入口。文件请求可能重定向到对象存储 CDN,请允许跟随重定向。 > > 已于 2026-10-27 对照 MaiArchive 源码与生产只读 HTTP 核验:封面、单曲信息与文件清单可访问;示例响应仅展示部分字段,文件与大小以实时清单为准。 ## 1. 资源根地址 | 根地址 | 内容 | |---|---| | `https://download.wmc.pub` | 曲绘等静态图片、谱面文件、谱面索引、单曲打包 | ## 2. 曲绘封面 封面按版本目录与曲目目录访问,不使用旧曲绘 ID 或 `.png` 后缀。目录名取自 3.1 的 `versionFolder` / `folderName`,或 3.3 的 `versionFolder` / `songFolder`;构造 URL 时分别编码每段目录名。 例如:`https://download.wmc.pub/cdn/v1/img/BUDDiES/Apollo%20%5BDX%5D?w=480`。谱面包内原始曲绘见 3.5。 ## 3. download.wmc.pub — 谱面资源 ### 3.1 谱面列表 / 搜索 全站谱面索引:关键词、版本、类型、流派、删除曲、是否有 PV 都能过滤,分页返回。适合做外部工具、机器人、统计。 > 也支持 `version`(版本名或 `versionid`)、`genre`、`oc`(1/0)、`hasVideo`(1/0)、`page`、`raw=1`(保留原始记录字段)。 > 别名入口:`GET /cdn/v1/data/charts`。 ### 3.2 单曲信息 ### 3.3 单曲文件清单(拿到直链) ### 3.4 直接取一个文件 免人机验证,点开即下。允许的文件名:`maidata.txt`、`track.mp3`、`track.ogg`、`bg.png`、`bg.jpg`、`pv.mp4`;加 `?dl=1` 走浏览器下载而不是页内播放/预览。 也支持用目录名访问:`GET /f/<版本目录>/<曲目目录>/<文件名>`,例如 `https://download.wmc.pub/f/BUDDiES/Apollo%20%5BDX%5D/maidata.txt`;同名清单是 `GET /f/<版本目录>/<曲目目录>`。 ### 3.5 曲绘预览 > 2026-10-27 实测:`/s/011661/bg.png`、`/s/011661/track.mp3` 与目录形式的原图入口返回 **302**,目标为 `oss.awmc.cc`。Node fetch 及从 Wiki 页面发起的浏览器 fetch 跟随并请求 `Range: bytes=0-31` 后均得到 **206**,类型分别为 `image/png` / `audio/mpeg`,最终响应带 `Access-Control-Allow-Origin: *`;`maidata.txt` 则直接返回 **200** 文本,不是所有文件都跳转。部分客户端探测(urllib HEAD / 单字节 Range)触发了 Cloudflare **403 / 1010**,排查时应记录客户端、方法与最终响应,不能仅凭 HEAD 或首跳 302 判断下载失败。展示封面也可使用第 2 节的缩略封面入口。 ### 3.6 单曲打包(zip / adx) > 目录名从 3.1 或 3.3 的 `versionFolder` / `songFolder`(= `folderName`)里拿。 > 版本包(约 1GB)、全版本包、删除曲包仍要人机验证:`/api/download-version/:versionId/:format`、`/api/download-all-versions/:format`、`/api/download-oc/:format`。 ## 4. 使用说明 * **无需鉴权**:以上接口都可匿名直接调用;JSON 响应与文件都带 `Access-Control-Allow-Origin: *`,可以直接在网页里 fetch。 * **缓存与重定向**:直接返回的文件通常带 `ETag` 与 `Cache-Control: public`,列表接口支持 `ETag` + 304;跳转响应可能为 `no-store`,请以最终响应头为准。不要硬编码对象存储目标地址,继续使用本站公开入口。 * **限流**:文件接口按 IP 限速(约 600 请求/分钟);量大的时候请错峰、复用连接,别并发几百个。 * **文件格式**:原始曲绘是 `.png` / `.jpg`,缩略封面还可能返回 WebP(以 `Content-Type` 为准);音源是 `.mp3` 或 `.ogg`,PV 是 `.mp4`,谱面是纯文本 `maidata.txt`。 * **更新来源**:页面与数据的实时状态以 [download.wmc.pub](https://download.wmc.pub) 为准;谱面预览与评价分析见 [谱面预览 API](/dev/chart-preview-api)。 --- --- url: https://wiki.awmc.team/dev/llms.md description: 本站 AI 问答、国内外网页 AI 入口、llms.txt 与每页 Markdown 原文,方便大模型阅读 AWMC 文档 --- # 🤖 AI 问答与 llms.txt 本站对大语言模型(LLM)做了适配:你可以直接在站内问 AI,也可以把文档交给 DeepSeek、豆包、Kimi、ChatGPT、Claude 等网页 AI,或者在自己的程序 / Agent 里读取纯文本版本的文档。 ## ✨ 站内问 AI 每个页面右下角都有 **✨ 问 AI** 按钮(文档页顶部也有一个)。AI 会先在本站文档里检索与问题相关的段落,再结合你当前所在的页面作答,并在回答末尾附上参考的文档链接。 ::: tip 问答范围 站内 AI 仅回答与 AWMC 及本站文档所述服务直接相关的实际问题。无关话题、闲聊、角色扮演、算数,以及代写、翻译或通用编程等代做任务一律拒绝;即使夹带 AWMC 字样或混合正常问题也不放行。询问指令用法、价格规则或谱面导入步骤属于正常文档问答。 请求会先经过范围审核,审核失败或无法确认时不生成答案,并提示稍后重试,不会把服务异常说成问题违规;明确拒答和审核不可用均不会显示跳转其他 AI 的按钮。未检索到可用文档时也不会凭空作答。 ::: ::: warning 注意 回答由 AI 根据文档自动生成,可能出错。涉及计费、协议、封禁等重要事项,请以文档原文为准。 ::: 如果站内 AI 暂时不可用,对话框会提供外部 AI 入口,优先列出 DeepSeek、豆包、Kimi,之后是 ChatGPT、Claude。国内 AI 入口会复制包含你的问题、当前页面与完整文档链接的提问,再打开官网;请按提示粘贴。 ## 📋 复制本页 / 在网页 AI 中打开 文档页标题上方的按钮及「更多选项」菜单: | 按钮 | 作用 | | --- | --- | | 📋 复制本页 | 把本页的 Markdown 原文复制到剪贴板,可以直接粘贴给任何 AI | | 📄 查看 Markdown 原文 | 在新标签页打开本页的 `.md` 版本 | | 💬 复制提问并打开 DeepSeek / 豆包 / Kimi | 复制「请阅读本页」的提问与文档链接,再打开官网;需要手动粘贴,可能需要登录 | | 💬 在 ChatGPT / Claude 中打开 | 保留 URL 预填提问的入口;是否接受预填以对方网站实际行为为准 | ::: tip 复制与网页读取 国内 AI 入口不依赖未经确认的 URL 预填参数,不会自动发送提问。如果浏览器不允许自动复制,页面会显示可手动复制的完整提问,不会误报「已复制」。 链接可访问不代表 AI 一定能读取网页;若对方无法读取文档,请回本站使用「复制本页」,将 Markdown 原文直接粘贴过去。外部 AI 是第三方服务,站内问答规则不代表它们的行为承诺。 ::: ## 📄 给 LLM 读的文件 | 地址 | 内容 | | --- | --- | | [`/llms.txt`](https://wiki.awmc.team/llms.txt) | 全站文档目录,遵循 [llmstxt.org](https://llmstxt.org/) 规范 | | [`/llms-full.txt`](https://wiki.awmc.team/llms-full.txt) | 全部中文文档合并成的一个纯文本文件 | | 页面地址 + `.md` | 单个页面的 Markdown 原文,例如 [`/guide/bot/intro.md`](https://wiki.awmc.team/guide/bot/intro.md) | 在自己的 Bot、Agent 或 Cursor 等工具里接入 AWMC 文档时,推荐直接把 `https://wiki.awmc.team/llms-full.txt` 作为上下文来源。 --- --- url: https://wiki.awmc.team/dev/api-docs.md --- # API 调试文档 选择服务后可查看接口定义、请求参数和响应结构。 ::: tip 传歌曲(成绩写入) 打开服务 **AWMC 网关 API** → 标签 **Score**: * `POST /v1/music/upsert`:上传/覆盖成绩(文档内详细说明精确/模糊模式、`dxScore` 含义) * `POST /v1/music/delete`:按 `musicId` + `level` 删除成绩 注意:`POST /v1/user/music` 是**查询**全部成绩,不是上传。文字版说明见 [AWMC 公共 API · 成绩写入](/dev/awmc-api#_3-4-成绩写入-传歌曲-—-详细说明)。 ::: ::: tip AWMCNET 成绩同步 Swagger 服务选择器中的 **AWMCNET API** 对应 `https://net.wmc.pub/openapi.json`。 调用 `/api/bot/sync` 时使用 `Bot-Token` 鉴权;成绩较多时请按 [AWMCNET Bot API 分块快照说明](/dev/awmcnet-api#分块提交全量快照) 复用同一个 `snapshot_id` 分块提交。 ::: ::: warning 鉴权说明 AWMC 网关令牌、谱面平台 API Key 与 AWMCNET 的凭证并不通用。切换服务时,页面会主动清除 Swagger UI 中已填写的凭证,避免误用或泄露。 ::: --- --- url: https://wiki.awmc.team/guide/astrodx.md --- # AstroDX 谱面导入教程 ::: tip 一句话 在 [AWMC-MaiArchive 下载站](https://download.wmc.pub) 下载 **ADX** 格式的谱面: **安卓**在文件管理器里点一下这个文件,选「用 AstroDX 打开」;**iPhone / iPad** 在「文件」App 里把它移进 「我的 iPhone → AstroDX」文件夹,再打开游戏,就导入好了喵~ ::: 本页讲的是怎么把 [download.wmc.pub](https://download.wmc.pub) 上下载的谱面导入 **AstroDX**(手机上的舞萌模拟器,安卓和 iPhone / iPad 都能玩)。教程按 AstroDX 官方文档和下载站实际打出来的包整理; AstroDX 本身的安装、更新问题请以 [AstroDX 官方 Wiki](https://wiki.astrodx.com/cn) 为准。 ## 〇、先看这里:三分钟上手 1. **安装 AstroDX 并打开一次** — 首次打开时游戏会建好自己的文件夹,之后导入才不会出问题。 2. **用系统浏览器打开下载站** — 在 [download.wmc.pub](https://download.wmc.pub) 搜索曲目,点开下载弹窗。 QQ / 微信内置浏览器下不了文件,请点右上角「在浏览器打开」。 3. **选择「ADX · 无背景视频」** — 体积小,导入快(想要背景视频就选「ADX · 含背景视频」)。 4. **交给 AstroDX** — * 安卓:在文件管理器的「下载」目录里点这个 `.adx` 文件,选择「打开方式 → AstroDX」,游戏会自动装好这首歌; * iPhone / iPad:在「文件」App 里把 `.adx` 移动到「我的 iPhone(我的 iPad)→ AstroDX」文件夹, 再打开游戏,等进度条走完即可,详见 [iPhone / iPad 导入](#ios-import)。 单曲下载**不需要人机验证**;按版本批量下载、多选下载才需要验证。 ## 一、准备工作 ### 1. 安装 AstroDX * **安卓**:到 [AstroDX GitHub Releases](https://github.com/2394425147/astrodx/releases) 下载最新的 `.apk` 安装。官方推荐使用最新版本,即使它是 pre-release(预发布)版本。手机提示「禁止安装未知应用」时,到系统设置里给 浏览器打开「允许安装未知应用」即可。 * **iPhone / iPad**:AstroDX **已在 App Store 上架**,免费下载: [App Store · AstroDX](https://apps.apple.com/app/astrodx/id6754203760)(开发者 Kumoumi Interactive)。 中国区 App Store 也能直接搜到,不用换外区账号。需要 iOS / iPadOS 15.0 及以上。 以前那套 TestFlight 抢名额的流程已经不需要了,官方现在推荐用 App Store 的稳定版。 本 Wiki 不提供 `.ipa` 安装包,AstroDX 官方也不发 ipa,请只从 App Store 下载。 安装后**先打开一次游戏**,让它完成初始化,再开始导入。刚装好时游戏里没有任何歌曲,这是正常的。 ### 2. 选对下载格式 下载站每首歌都有四个按钮: | 按钮 | 文件 | 适合 | |------|------|------| | **ADX · 无背景视频** | `[DX] 曲名.adx` | ⭐ 推荐。点一下就能导入,体积小 | | ADX · 含背景视频 | `[DX] 曲名.adx` | 想要游玩时有背景视频(PV),单曲可能有几十 MB | | ZIP · 无背景视频 | `[DX] 曲名.zip` | 手动导入,或你的手机无法用 AstroDX 打开 `.adx` | | ZIP · 含背景视频 | `[DX] 曲名.zip` | 同上,带背景视频 | ::: info ADX 和 ZIP 有什么区别? 内容完全一样:`maidata.txt`(谱面)、`track.mp3`(音乐)、`bg.png` / `bg.jpg`(曲绘), 以及「含背景视频」版本里的 `pv.mp4`。`.adx` 其实就是改了后缀名的 `.zip`,区别只在于 AstroDX 能直接打开 `.adx` 并自动安装。 ::: 曲名前的 `[DX]` / `[ST]` 是下载站加的谱面类型前缀,用来区分同名的 DX 谱和标准谱; 宴会场谱面不加前缀。 ## 二、方法一:ADX 一键导入(推荐) AstroDX 官方推荐用 ADX 文件导入(需要 Beta 2 Patch 4 及以上版本)。下载站的 `.adx` 可以直接用, **不需要**再自己压缩或改后缀。 ### 安卓 1. 在下载站下载 **ADX** 格式的谱面; 2. 打开手机自带的「文件管理」,进入「下载」(Download) 目录; 3. 点按刚下载的 `.adx` 文件,在弹出的选项里选 **打开方式 → AstroDX**; 4. AstroDX 会自动打开并安装这首歌,回到选曲界面就能看到。 导入后,这首歌在 AstroDX 里的文件夹名是 `[DX] 曲名.曲师`。 **再导入同名的歌会直接覆盖旧版本。** ::: warning 文件管理器里没有「用 AstroDX 打开」? 部分手机(例如小米、部分三星机型)的系统文件管理器不提供这个选项。可以: * 安装 [ZArchiver](https://play.google.com/store/apps/details?id=ru.zdevs.zarchiver) 或 [Files(Marc apps)](https://play.google.com/store/apps/details?id=com.marc.files),用它们点按 `.adx` 文件再选 AstroDX 打开; * 或者把 `.adx` 后缀改回 `.zip`,按下面的 [方法二](#manual-import) 手动导入。 ::: ### iPhone / iPad {#ios-import} iOS 上不用「打开方式」,而是**把 `.adx` 放进 AstroDX 的文件夹,游戏下次打开时自动安装**。 这是 [AstroDX 官方 iOS 教程](https://wiki.astrodx.com/en/install/ios) 给的方法。 1. **先打开一次 AstroDX**,然后退出。首次启动后,「文件」App 的「我的 iPhone」(iPad 上是「我的 iPad」)里 才会出现带 AstroDX 图标的 `AstroDX` 文件夹; 2. 用 **Safari** 打开下载站,下载 **ADX** 格式的谱面,弹出「要下载……吗?」时点「下载」; 3. 打开系统自带的 **「文件」App**,找到刚下载的 `.adx`。Safari 默认存到「iCloud 云盘 → 下载」, 关了 iCloud 云盘的话在「我的 iPhone → 下载」;也可以点 Safari 地址栏的下载图标,再点文件旁的放大镜直接定位; 4. **长按** `.adx` 文件 → **移动** → 选「我的 iPhone」→ **`AstroDX`** → 点右上角「移动」 (从 iCloud 云盘移过来时是「拷贝」,效果一样); 5. 打开 AstroDX,屏幕上会出现安装进度条,走完后到选曲界面就能看到这首歌。 ::: warning 放在 AstroDX 文件夹里,不是 levels 里 `.adx` 要直接放进 `AstroDX/` 这一层,**不要**放进里面的 `levels/` 文件夹,否则游戏不会安装它。 如果游戏原本就开在后台、移进去之后没出现进度条,从多任务界面把 AstroDX 划掉再重新打开。 ::: ::: tip 一次导入很多首 「文件」App 右上角「⋯ → 选择」可以一次勾选多个 `.adx`,一起「移动」到 `AstroDX` 文件夹, 下次打开游戏会一次性全部装好。 ::: 和安卓一样,导入后的文件夹名是 `[DX] 曲名.曲师`,**再导入同名的歌会直接覆盖旧版本**。 ## 三、方法二:手动导入 ZIP {#manual-import} 手动导入就是把歌曲文件夹放进 AstroDX 的 `levels` 文件夹里。 ### 1. 找到 AstroDX 的文件夹 安卓上的路径是: ```text Android/data/com.Reflektone.AstroDX/files/ ├── levels/ ← 歌曲放这里,一首歌一个文件夹 │ └── [DX] 曲名/ │ ├── maidata.txt (必需)谱面 │ ├── track.mp3 (必需)音乐,也可以是 track.ogg │ ├── bg.png (可选)曲绘,也可以是 bg.jpg │ └── pv.mp4 (可选)背景视频,H.264 / H.265 编码 └── collections/ ← 分类收藏夹(见第五节) ``` 一首歌至少要有 **`maidata.txt` 和音乐文件** 才会被识别。 iPhone / iPad 上是「文件」App 里的 **我的 iPhone(我的 iPad)→ `AstroDX`**,里面同样有 `levels/` 和 `collections/`, 结构和上面一样,不需要任何额外工具。 ::: warning 安卓 11 及以上打不开 Android/data? 从安卓 11 起,系统限制了普通应用访问 `Android/data`。可以: * 使用 [ZArchiver](https://play.google.com/store/apps/details?id=ru.zdevs.zarchiver) 等支持访问 `Android/data` 的文件管理器; * 使用 [Files(Marc apps)](https://play.google.com/store/apps/details?id=com.marc.files)(AstroDX 官方推荐的变通方法); * 安装 [Shizuku](https://shizuku.rikka.app/) 后,配合支持 Shizuku 的文件管理器访问; * 用数据线连接电脑,通过 MTP(文件传输)直接把文件夹拷进去。 ::: ### 2. 解压到「自己的文件夹」里 ::: danger 最容易出错的一步 下载站的**单曲 ZIP 解压后直接是四个文件**,外面没有文件夹。请先在 `levels/` 里**新建一个文件夹** (名字随意,例如 `[DX] 曲名`),再把 ZIP 解压到这个新文件夹里。直接解压到 `levels/` 会让 文件散落一地,游戏读不到。 ::: 1. 进入 `Android/data/com.Reflektone.AstroDX/files/levels/`; 2. 新建文件夹,例如 `[DX] 曲名`; 3. 把下载的 `.zip` 解压到这个文件夹里,确认里面直接就是 `maidata.txt`、`track.mp3` 等文件; 4. 重新打开 AstroDX,在选曲界面找到这首歌。 ::: info iPhone / iPad 手动导入 iOS 上其实更推荐 [ADX 导入](#ios-import)。一定要手动的话:在「文件」App 里**点一下** `.zip` 就会解压, 得到一个和压缩包同名的文件夹;确认里面直接就是 `maidata.txt`、`track.mp3` 等文件后, 长按这个文件夹 → 移动 → 我的 iPhone → `AstroDX` → **`levels`**,再重新打开游戏。 ::: ::: tip 别随便改名或移动 AstroDX 按**文件夹路径**记录成绩和偏移设置。导入后再改名、移动或删除歌曲文件夹,这首歌的 成绩记录就会丢失。 ::: ## 四、批量导入一个版本 / 全版本 / 多首歌 {#batch-import} 下载站「批量下载」可以按版本下载、下载全版本,或用「自定义下载歌曲」多选。批量下载需要先完成人机验证。 ### 1. 下载到的是什么 * **单个版本**:一个**版本包**,文件名就是版本名,例如 `BUDDiES.adx` / `BUDDiES.zip`; * **全版本**:不会给一个几十 GB 的大文件,而是**每个版本一个版本包**,一共二十多个。下载弹窗会列出全部版本包, 可以点「全部开始下载」让浏览器逐个下载(浏览器问「是否允许下载多个文件」时选允许),也可以「复制全部链接」, 粘贴到 IDM / aria2 / Motrix 等下载工具里批量下载; * **自定义多选**:一个压缩包,里面是选中的那些歌。 每个版本包都是**一个压缩包,里面每首歌是一个独立的小包**: * 选 **ADX** 时,`BUDDiES.adx` 里是一堆 `[DX] 曲名.adx`; * 选 **ZIP** 时,`BUDDiES.zip` 里是一堆 `[DX] 曲名.zip`。 ::: warning 不建议用手机流量下载 全版本「含背景视频」三十多 GB,「无背景视频」也有七八 GB,单个版本几百 MB 到几 GB。 请连 Wi-Fi 或有线网络,并确认手机 / 电脑剩余空间够用(解压时还要再占一份)。 ::: ### 2. 批量解压 外层的版本包**不能直接用 AstroDX 打开**,要先解压,得到里面每首歌的小包。 ::: tip .adx 版本包要先改后缀 `.adx` 其实就是 `.zip`。电脑上的 7-Zip / Bandizip 能直接认,**手机和 macOS 自带的解压要先把后缀改成 `.zip`** (例如 `BUDDiES.adx` → `BUDDiES.zip`)。ZIP 格式的版本包不用改。 ::: * **电脑(Windows)**:全选下载好的版本包 → 右键 → 7-Zip「解压到各自文件夹」(Bandizip 是「解压到各自的文件夹」), 每个版本包会解压到同名文件夹; * **电脑(macOS)**:`.adx` 改成 `.zip` 后,全选双击即可逐个解压;也可以用 Keka / The Unarchiver 直接解; * **iPhone / iPad**:在「文件」App 里把 `.adx` 版本包重命名为 `.zip`(看不到后缀先打开「显示所有文件扩展名」,见 [常见问题](#ios-rename)),然后**逐个点一下**解压,会得到同名文件夹; * **安卓**:安装 [ZArchiver](https://play.google.com/store/apps/details?id=ru.zdevs.zarchiver),`.adx` 版本包先改名为 `.zip`, 然后长按多选这些压缩包 →「解压到 ./压缩包名/」。 ### 3. 导入 AstroDX 解压出来的是每首歌的 `[DX] 曲名.adx`(或 `.zip`),按单曲的方法导入: * **安卓**:`.adx` **逐个点按 → 用 AstroDX 打开**;如果是 `.zip`,按方法二逐个新建文件夹再解压到 `levels/`; * **iPhone / iPad**:进入解压出来的文件夹,「⋯ → 选择 → 全选」,把里面所有 `[DX] 曲名.adx` 一起**移动**到 「我的 iPhone → `AstroDX`」,再打开 AstroDX,等进度条把整批歌装完。全版本可以一个版本一个版本地移, 每次移完打开一次游戏让它装好。 ## 五、导入分类收藏夹(collections.zip) 下载站顶部的 **「索引下载」** 会给你一个 `collections.zip`,里面是按谱面类型、流派和版本分好的收藏夹: ```text collections/ ├── DX Chart/manifest.json ├── SD Chart/manifest.json ├── 宴会場/manifest.json ├── POPSアニメ/manifest.json ├── maimai DX BUDDiES/manifest.json └── …… ``` 1. 点下载站的「索引下载」,下载 `collections.zip`(免人机验证,体积很小); 2. 解压,把里面的 `collections/` 文件夹放进 `Android/data/com.Reflektone.AstroDX/files/` (iPhone / iPad 是「我的 iPhone → `AstroDX`」),也就是和 `levels/` **放在同一层**(已有 `collections/` 时合并进去即可); 3. 重新打开 AstroDX,选曲界面就会出现这些收藏夹。 ::: tip iPhone / iPad 合并 collections 在「文件」App 里点一下 `collections.zip` 即可解压。`AstroDX` 里已经有 `collections/` 时, 不要整个文件夹移过去替换,而是打开解压出来的 `collections/`,全选里面的子文件夹,再移动到已有的 `AstroDX/collections/` 里,这样你原来的收藏夹不会被覆盖。 ::: 收藏夹只是一份「曲目清单」,不包含歌曲本身。**你导入了哪些歌,收藏夹里就显示哪些。** 索引同时兼容两种文件夹名:ZIP 手动导入的 `[DX] 曲名` 和 ADX 导入的 `[DX] 曲名.曲师`, 两种方式导入的歌都能被归类。 ## 六、常见问题 ### 把 .zip / .rar 放进 levels 了,游戏里没有 AstroDX 不会读压缩包,需要先解压,并确认是「`levels/` → 歌曲文件夹 → `maidata.txt`」这样的结构。 压缩包多套了一层文件夹(`levels/A/A/maidata.txt`)也读不到。 ### 有曲绘但没有背景视频 下载时选的是「无背景视频」版本。需要背景视频请重新下载「ADX · 含背景视频」,并确认歌曲文件夹里有 `pv.mp4`。 ### 同一首歌出现了两次 用 ADX 导入过一次(文件夹叫 `曲名.曲师`),又用 ZIP 手动导入了一次(文件夹叫 `曲名`),就会出现两份。 删掉其中一个文件夹即可;注意删掉的那份成绩会一起消失。 ### 下载按钮点了没反应 / 下载到一半失败 * 请使用系统浏览器(Chrome、Edge、Safari 等),不要在 QQ / 微信内打开; * 版本包一般已经提前打好,点了就开始下载;某个版本刚更新时要先重新打包,页面顶部的「状态与健康」会显示排队情况,请耐心等待; * 单曲失败可以直接重试;仍然失败请到 [论坛](https://bbs.wmc.pub/misc/contact) 反馈,附上曲名和下载格式。 ### 能放到 SD 卡吗? AstroDX 目前不支持从 SD 卡读取歌曲,只能放在手机内部存储的上述目录里。 ### iPhone:「我的 iPhone」里找不到 AstroDX 文件夹 先从 App Store 安装并**打开一次** AstroDX,再回到「文件」App 的「我的 iPhone」(iPad 上是「我的 iPad」)。 左上角显示的是「iCloud 云盘」的话,点返回切到「浏览」页,在「位置」里选「我的 iPhone」。 ### iPhone:改不了后缀 / 看不到 .adx、.zip 后缀 {#ios-rename} 在「文件」App 右上角点 **⋯ → 显示选项**(iOS 26 上也可以点四个方块的「显示选项」按钮),打开 **「显示所有文件扩展名」**,之后长按文件 → 重命名就能改后缀。实在改不了后缀时,按 AstroDX 官方的说法, 把文件命名成 `名字.adx.zip` 也能被识别。下载站单曲的 `.adx` 本来就是对的后缀,不用改。 ### iPhone:在微信 / QQ 里收到的 .adx 怎么导入? 在聊天里点开文件 → 右上角「⋯」→「用其他应用打开」→ **存储到「文件」**,保存位置直接选 「我的 iPhone → AstroDX」,再打开游戏即可。从电脑传文件可以用 AirDrop(Mac)或 [LocalSend](https://localsend.org/)(Windows / Linux),收到后同样移进 `AstroDX` 文件夹。 ## 相关链接 * 谱面下载站:[download.wmc.pub](https://download.wmc.pub) * 在线谱面预览:[谱面预览](/dev/chart-preview) * AstroDX 官方 Wiki:[wiki.astrodx.com](https://wiki.astrodx.com/cn) * AstroDX App Store 页面:[AstroDX](https://apps.apple.com/app/astrodx/id6754203760) * AstroDX 官方安卓教程(中文):[安卓安装教程](https://wiki.astrodx.com/cn/install/android) * AstroDX 官方 iOS / iPadOS 教程(英文,比中文版新):[iOS/iPadOS](https://wiki.astrodx.com/en/install/ios) * AstroDX ADX 包结构说明:[ADX Archive Details](https://astrodx.notion.site/ADX-Archive-Details-a8346048819a40b18f0a6c014c19b0b3) * AstroDX 收藏夹格式说明:[Collection Manifest Details](https://astrodx.notion.site/Collection-Manifest-Details-8f966de6971748e0ac01c0a0a6054594) --- --- url: https://wiki.awmc.team/guide/bot/advanced.md --- # AWMC BOT 指令帮助 ::: tip 提示 善用搜索快捷键 /(电脑端)或顶部搜索按钮(手机端)进行查询。 ::: ::: tip 查分 QQ 绑定(qbind) 发送 `qbind 你的QQ号`,把 QQ 邮箱收到的 6 位验证码发回 Bot 即可,无需先注册论坛;已有论坛账号也可发送 `论坛绑定` 使用 OAuth。完整流程与发送限制见 [使用说明 · qbind](/guide/bot/intro#八、论坛账号绑定-qbind)。 ::: 账号绑定、B50 上传、票券、PC 同步、成绩查询与群互动现已合并到同一个 QueryBot。 指令前缀由平台配置决定;下文以不带前缀为例。 ::: info 版本与可用性 本页按当前源码整理,未核验生产部署;不代表所有功能均已上线。命令开放状态、价格与限制以实际部署配置及 Bot 提示为准,下文价格为源码默认值。 ::: ::: tip 还有 Phigros Phigros(`phi`)系列指令绑定 TapTap 云存档,可查 B30、资料卡、单曲信息与进步对比, 单独成页:[Phigros 查分(phi)](/guide/bot/phigros)。 ::: *** ## 一、账号、上传与 BREAK 开始前请先发送 `用户协议`,打开网页阅读并完整复制确认词。二维码相关指令支持 `SGWCMAID...`、Wahlap `img/MAID...png` 与 `req/MAID...html` 官方链接。 ### 1.1 帮助与信息 | 命令 | 说明 | |------|------| | `mai账号` | 查看账号功能帮助 | | `mai状态` / `mymai` | 查看完整账号状态;二维码缓存失效时交互刷新 | | `舞萌状态` / `mais` | 「服务器失败率」折线图(账号操作全量:发票、maiu 上传、绑定等;`returnCode=0` 计失败;无数据时段省略)+ 服务器实时状态 | | `maiping` | 测试 AWMC API 连接 | | `状态页` / `服务状态` / `系统状态` | 查看 AWMC 服务状态页([up.wmc.pub](https://up.wmc.pub))上的整体状态、进行中的维护与故障;状态页发布 Bot 维护时,Bot 会自动进入维护模式 | | `botstatus` / `bot状态` / `机器人状态` / `自检` | 生成 Bot 运行状态图:网络自检(数据库、AWMC API、论坛、水鱼、落雪、别名服务器等)、进程性能、今日收发消息量与时段分布,并附 up.wmc.pub 状态页摘要(详见 [运行状态自检](/guide/bot/botstatus)) | | `mai上报 <类型>` | 手动向 isMaiDown 上报机台状态:`断网` / `无法登录` / `NET打不开` / `二维码` / `上传失败` / `小黑屋` / `恢复正常` | | `mai配额` / `配额` / `限额` | 查看 AWMC API 团队配额用量(读取 / 写入、各时间窗) | | `mai地图` | 查询账号游玩过的省份/地区(服务支持时) | | `mai查询opt <版本号>` | 查询 Mai2 选项文件下载地址,如 `mai查询opt 1.40` | | `成绩趋势 [天数]` | 查看 AWMC NET. 服务端 Rating 趋势,默认 30 天(别名 `rating趋势` / `mai趋势` / `awmc趋势`) | | `公告列表` | 查看最近 10 条公告(普通用户不显示内部公告 ID) | | `确认阅读公告` | 确认当前必读公告,确认同一版本后不再重复提示 | | `门攻略 [门名]` / `哪些门` | 列出或获取 Kaleidx 门攻略链接(`kaleidxscope.awmc.team`,含「乱码门」);直接发送 `蓝色之门` / `白色之门` / … / `最终相` 等门名也会触发 | | `怎么用` | 消息中包含"怎么用"时自动返回本指令帮助(与帮助入口等效) | ### 1.2 账号绑定 | 命令 | 说明 | |------|------| | `mai绑定` / `maibind` | 绑定或认领舞萌 DX 账号;无参数时交互式引导 | | `mai解绑` | 解绑舞萌账号,保留水鱼/落雪上传配置 | | `qunbind` / `qunbind 确认` | 查分 QQ / 论坛身份解绑:先查看报价,再确认扣费;按旧查分 QQ 计首次 100、后续每次 200 BREAK,不享 FREEDOM。换绑须先解绑,详见 [qbind](/guide/bot/intro#八、论坛账号绑定-qbind) | | `nickname [新名字]` | 查看论坛用户名与可改时间,或修改用户名;别名 `论坛改名` / `修改论坛用户名` / `改论坛用户名` / `论坛用户名`。需已关联论坛身份;OneBot 用户请到论坛账户设置修改 | | `更新pc数` | 使用有效缓存或最新二维码同步 PC 数据 | | `不同意共享我的数据` | 关闭脱敏成绩 / Rating / 趋势的公开共享(默认开启) | | `同意共享我的数据` | 重新开启数据共享 | | `数据共享状态` | 查看当前是否共享脱敏数据 | ### 1.3 水鱼 B50 | 命令 | 说明 | |------|------| | `mai绑定水鱼 ` / `maibindfish ` | 绑定水鱼 Token | | `mai解绑水鱼` | 解绑水鱼 Token,舞萌账号绑定保留 | | `maiu [二维码或链接]` | 上传 B50 到水鱼 | | `maiua [二维码或链接]` | 同时上传 B50 到水鱼和落雪 | | `dfbind` / `绑定水鱼` | 通过 OAuth 绑定水鱼(无需 Import Token) | | `dfstatus` | 查看水鱼 OAuth 授权状态 | | `dfunbind` | 解除水鱼 OAuth 授权 | ### 1.4 落雪 B50 | 命令 | 说明 | |------|------| | `lxbind` | 通过 OAuth 绑定落雪(推荐,无需提交导入 Token) | | `lxunbind` | 解绑落雪 OAuth | | `mai绑定落雪 <导入Token>` / `maibindlx <导入Token>` | 兼容方式绑定落雪导入 Token | | `mai解绑落雪` | 解绑落雪兼容 Token | | `maiul [二维码或链接]` | 上传 B50 到落雪,优先使用 OAuth | ### 1.5 BREAK 与票券 ::: danger 警告 发票有风险,操作需谨慎。AWMC TEAM 对发票可能造成的负面影响概不负责。 参见 [AWMC BOT 服务协议与隐私政策](/guide/bot/terms#十、免责声明) 第十条。 ::: | 命令 | 说明 | |------|------| | `AWMC签到` / `签到` | 签到获取 BREAK;距上次**成功签到满 24 小时**即可再签,不再按 00:00 重置 | | `AWMC补签` / `补签` | 补昨天签到;每月最多 3 次,依次消耗 30 / 60 / 90 BREAK,不补发奖励 | | `AWMC帮助` / `BREAK帮助` | 查看 BREAK 系统说明 | | `我的AWMC` | 查看 BREAK、连续签到和使用统计;含发票成功/失败率与 `returnCode=0`、null/未返回次数;群内自动附带本群猜歌数据图 | | `BREAK统计` / `BREAK收支` | 查看所有用户今日、近 7 天、近 30 天 BREAK 收入、支出与净变化 | | `转账BREAK @用户 数量` | 向其他用户转账 BREAK | | `BREAK抽奖 [1-1000]` | 默认每次消耗 2 BREAK | | `BREAK抽奖 帮助` | 查看奖池、概率、消耗和示例 | | `发红包 [总额] [份数]` | 群内发送 BREAK 手气红包(别名 `BREAK红包`);也可只发 `发红包` 按提示输入 | | `抢红包` | 领取本群当前红包,每人限一次(别名 `领红包`) | | `红包状态` | 查看红包领取明细(别名 `红包记录` / `查看红包`) | | `收回红包` | 发出满 90 秒可主动收回,未领余额退回(别名 `重置红包`) | | `兑换卡密 [码]` | 兑换 BREAK / 双倍 / FREEDOM / PASS 卡密,支持群内与私聊自动兑换(别名 `redeem` / `兑换码`) | | `我的卡密` | 查看当前生效的卡密加成(别名 `卡密状态` / `我的加成`) | | `卡密商店` | 查看管理员配置的外部卡密商店链接;未配置时提示暂未开放 | | `商店` / `BREAK商店` | 查看内置 BREAK 商店与当前价格 | | `商店购买 <双倍/FREEDOM/PASS> [数量]` | 用 BREAK 购买加成,别名 `BREAK购买` / `购买`;需先完成 `qbind`。数量默认 1,范围 1~720;双倍 / FREEDOM 按小时、PASS 按次数 | | `使用PASS` / `用PASS` | 仅查看自动使用说明,不会手动扣卡 | | `小游戏上限` | 查看小游戏 BREAK 每日上限;已绑定用户同时显示今日进度 | | `查看加成` / `加成总览` / `加成列表` | 查看当前生效的签到加成(含管理员配置的周期 / 群 / 日期 / 连签活动) | | `mai发票` / `发票` / `fp <2/3/5>` | 请求 2、3 或 5 倍票;成功按倍率 × 10 BREAK 扣费(20 / 30 / 50);提交后失败默认罚 100 BREAK,详见下方 | | `mai查票` / `查票` | 查询有效票券;成功查询 1 BREAK,失败不扣费;按票种、库存及有效期展示,不显示账号 UID | ::: warning 票券计费与处罚 发票提交后失败默认收取 **100 BREAK** 固定罚金;提交前的二维码验证 / 余额检查失败,以及本地 API 配额拒绝,不收该罚金。发现账号仍有未使用倍率票时会拦截发票,另按未使用票券处罚规则收取 **20 BREAK**(`one_time_qrcode` 一次性二维码模式会跳过该库存检查);上述处罚仅在余额足够时扣除,不扣成负数。不要囤票,已发票券需上机使用。 ::: ::: info 商店与下线功能 商店默认单价为双倍 BREAK 卡 **300 BREAK/小时**、FREEDOM **1000 BREAK/小时**、PASS **150 BREAK/次**,管理员可调整,实际以 `商店` 显示为准;购买本身不享受 FREEDOM 免单。PASS 在 AWMC **team 本地 API 配额**耗尽时自动消耗一次放行一个请求,不适用于 public 服务端配额,也不突破小游戏奖励上限。 福利池相关的 `抽奖池` / `贡献榜`、`领取福利` / `领福利`、`贡献总榜` / `首富榜` 已临时下线;与仍可使用的 `BREAK抽奖` 不同。 ::: ### 1.6 账号高级操作(计费 / 高风险) ::: danger 警告 `mai改成绩`、`mai删成绩`、`mai改道具` 会直接改动舞萌账号数据,其中 `mai改道具` 未经实际账号测试、可能造成不可逆数据异常,风险由用户自行承担。 参见 [AWMC BOT 服务协议与隐私政策](/guide/bot/terms#十、免责声明) 第十条。 ::: | 命令 | 说明 | |------|------| | `mai预览` | 查询账号预览信息(成功查询 5 BREAK,失败不扣费) | | `mai道具` | 查询账号道具列表(成功查询 5 BREAK) | | `mai门状态` / `mai查门` / `查门` | 只读展示 Kaleidx Gate 的发现、钥匙与通关状态(成功查询 5 BREAK)。⚠️ 上游 v2-3 已移除该读接口,切换后会提示已移除 | | `maievent` / `mai活动` / `舞萌活动` | 查询舞萌账号当前活动事件。⚠️ 上游 v2-3 已移除该读接口 | | `mai改成绩 [歌曲 难度 达成率 DX分 FC FS]` | 交互或一步编辑成绩;DX 分填 0~5 为星级简单模式,填实际分自动切专业模式;支持换行/分号分隔一次最多 20 条;成功 258 BREAK / 谱面 | | `mai删成绩 [歌曲 难度]` | 交互或一步删除成绩;同样支持批量;成功 50 BREAK / 谱面 | | `mai改道具 [itemKind itemId add/del]` | 高风险道具修改;成功扣 100 BREAK;Bot 不开放批量 upsert-all | | `mai改资料` / `资料修改` / `改资料` | **账号编辑集合**:一键全解歌、批量编辑、14 项资料修改与上传会话查询的总入口(详见[指令调用说明](/guide/bot/commands#八、账号编辑与批量操作-v2-3)) | | `mai批量编辑` / `批量编辑` / `批量改` | 一次对话收集多项修改(可跨类型),串行执行;整批默认 1500 BREAK,至少一项确认成功扣一次,已扣费续跑不重复收费;未经测试,非常不推荐 | | `mai全解锁 [music/master/remaster] [版本ID]` | 一键解锁乐曲 / MASTER / Re:MASTER(已拥有自动跳过);默认成功 1500 BREAK / 次;未经测试,非常不推荐 | | `mai改门` / `mai改rating` / `mai改里程` / `mai改地图库存` / `mai改游玩次数` | v2-3 资料修改;每项成功 50 BREAK(参数可直接输名称) | | `mai改段位` / `mai改阶级` / `mai改搭档` / `mai改角色` / `mai改亲密度` | v2-3 资料修改;每项成功 50 BREAK | | `mai重置版本` | v2-3 版本重置;成功 50 BREAK | | `mai完成地图` / `mai推进地图` / `mai改登录奖励` | 因上游保存验证持续失败(5006)临时停用,单独命令与批量编辑均不可用 | | `查进度` / `查任务` | 免费查询自己的上传、批量任务与后台同步进度;别名 `mai查任务` / `查上传任务` / `查会话`。管理员可附 `` 精确查询 | ::: danger 批量功能风险 `mai批量编辑` / `mai全解锁` 未经测试,非常不推荐使用:上游最长可能处理约 **30 分钟**,很有可能卡死。超时或结果未确认时请先 `查进度`,确认未生效前不要重复提交。详情见[账号编辑与批量操作](/guide/bot/commands#八、账号编辑与批量操作-v2-3)。多谱面成绩编辑 / 删除仍按谱面计费,不适用整批一口价。 ::: ::: tip 快速更新与自动更新 `导` / `u` / `更` / `更新`(或 `mai对手同步`)无需扫码快速同步成绩;`mai自动更新 [小时]` 默认开启 3 小时,默认每小时 30 BREAK、每 15 分钟同步一次,最多 12 小时,确认后预扣。`查自动更新` 查看状态,`自动更新关闭` 提前关闭且不退款。 需先 `mai绑定`;水鱼 / 落雪仅支持 OAuth 授权。快速 / 自动更新不补 FC/FS 与 PC 数据,完整更新仍需扫码。价格、间隔及开放状态以 Bot 实际配置为准,详见[快速更新与自动更新](/guide/bot/commands#quick-update)。 ::: ### 1.7 AI 生图 | 命令 | 说明 | |------|------| | `画图 <描述>` | 根据文字生成图片;默认消耗 358 BREAK,失败会退回预扣 BREAK | | `画图 <描述> -p` / `--reference` | 图生图模式,先发送命令,再按提示发送参考图 | | `画图 <描述> -q auto` | 指定图片质量;当前仅支持 `auto` | * 也可以在同一条官方 QQ 消息中 `@机器人`、附上图片并发送 `画图 <描述>`。 * 提示词最长 4000 字符;参考图默认不超过 8 MB,支持 PNG、JPEG、WebP。 * 生图前会先进行内容审核和本地敏感内容拦截;违法违规、敏感政治、未成年人色情等请求会直接拒绝,不扣 BREAK。模型服务仍会执行上游安全审核。 * 官方 QQ 图片附件会校验实际图片内容;即使 QQ CDN 返回异常的 `Content-Type`,只要图片数据有效仍可读取,图片地址安全检查仍然生效。 *** ## 二、查询与群互动 > 以下收录查询 Bot 普通用户指令;不含管理员指令。高级变体、数据分析与群管功能见 [2.12 高级功能](#_2-12-高级功能)。 ### 2.1 基础 | 指令 | 说明 | |------|------| | `帮助maimaiDX` | 查看帮助图 | | `项目地址maimaiDX` | 查看项目信息 | | `今日mai` | 今日运势与推荐曲目 | | `主题` | 查看或切换成绩图主题 | | `查看排名` | 查看全服 Rating 排行 | | `我的排名` | 查看自己的 Rating 排名 | | `赞助` / `赞助榜` / `本月赞助` | 查看本月赞助榜(金额默认隐藏,详见 [赞助支持](/sponsor)) | **选哪个**:群里直接说「`吃拉面还是米饭`」「`是去 A 还是 B`」「`吃 A 还是 B 还是 C 呢?`」 (2~4 个选项),Bot 会随机替你定一个,回复带抽中的结果与候选清单。`还是` 表示 「仍然 / 依旧」的句子不会误触发(如 `我还是不去了吧`、`天还是那么蓝`)。选项里出现 敏感词时改发不含选项原文的版本:`# 🎲 🎯 就决定是你了:第 N 个`。 ### 2.2 曲目查询 | 指令 | 说明 | |------|------| | `查歌 <关键词>` | 按曲名 / 别名搜索 | | `查图` | 从机台照片、截图或曲绘识别曲目;别名 `识图查歌` / `图片查歌` / `截图查歌`。同条附图、回复图片或按提示补图均可 | | `下载曲目 <歌曲ID>` | 返回下载站收录的 ZIP / ADX / 谱面 / 音源链接;别名 `下载谱面` / `search download`。未收录或连接失败会提示 | | `定数查歌 <定数>` | 按定数搜索 | | `等级查歌 <等级>` | 按等级搜索,如 `等级查歌 13+` | | `谱式查歌 ` | 按谱式搜索;`标准`、`dx` 等写法都认 | | `分类查歌 <分类>` | 按分类子串搜索;没命中时会列出全部可选分类 | | `版本查歌 <版本>` | 按版本搜索,如 `版本查歌 舞萌DX 2024` | | `拟合定数查歌 <值/范围>` | 按展示精度(2 位小数)匹配拟合定数,别名 `拟合查歌` | | `bpm查歌 ` | 按 BPM 搜索 | | `曲师查歌 <曲师>` | 按曲师搜索 | | `谱师查歌 <谱师>` | 按谱师搜索 | | `试听 <歌曲ID>` | 试听片段(约 60 秒,从约 20% 处切入;首次现裁并缓存) | | `<别名>是什么歌` | 通过别名查曲目 | | `id <歌曲ID>` | 查看歌曲详情 | | `谱面<难度>` | 谱面预览,难度:绿 / 黄 / 红 / 紫 / 白 | | `提取曲绘 <歌曲ID>` | 提取曲绘图片 | | `mai什么` | 随机推荐一首曲目 | | `mai什么推分` | 随机推荐适合上分的曲目 | | `来个<等级>` | 随机推荐指定等级曲目 | | `来个dx<等级>` / `来个sd<等级>` | 随机 DX / 标准曲 | | `来个<难度><等级>` | 随机指定难度与等级,如 `来个紫14+` | ::: warning 查图与下载限制 查图支持 PNG / JPEG / WebP,图片最大 12 MiB,同一用户冷却 8 秒;识别不确定时返回候选。高置信结果直接生成歌曲详情,按搜索计费:默认功能费 **1 BREAK + 出图费 1 BREAK**,每日首查、FREEDOM 等减免以 Bot 实际结算为准,不是无条件免费。 查图与下载均受本群搜索开关限制,猜歌期间禁止使用;下载入口当前没有单独扣费逻辑。识别结果仅供参考。 ::: ::: tip 查歌速查行 `查歌` 的介绍图后面会跟一条**速查行**:曲师 / 谱师 / 分类 / 版本 / 谱式 / BPM / 等级 / 定数 / 拟合定数逐项列出,按难度展开的行带难度色块。在官方 QQ 群里, 速查行里的每个值都是**可点蓝字**——点一下就把对应的查询指令(`曲师查歌`、 `版本查歌`、`等级查歌`……)填进输入框;同时附一个「🎵 试听」按钮。 OneBot 与兼容模式降级为纯文本(信息保留、不可点),试听可用 `试听 <歌曲ID>`。 ::: ### 2.3 别名 | 指令 | 说明 | |------|------| | `<曲名>有什么别名` | 查看曲目别名 | | `id<歌曲ID>有什么别名` | 按 ID 查看别名 | | `添加别名 <别名>` | 申请为曲目添加别名 | | `添加本地别名 <别名>` | 添加仅本 Bot 生效的本地别名 | | `同意别名 ` | 对别名申请投票 | | `当前投票` | 查看进行中的别名投票 | ### 2.4 成绩查询 | 指令 | 说明 | |------|------| | `b50` | 查询 B50 成绩图 | | `ab50` | 查询全部最佳 50 首 | | `刷新b50` | 强制刷新成绩缓存 | | `同步b50` | 将水鱼/落雪成绩明确同步写入 AWMC NET.(需确认) | | `合作b50` | 两人合作 B50 对比 | | `合作a50` | 两人合作全部最佳 50 对比 | | `我有多菜` | Rating 对比图 | | `我在群里有多菜` | 群内 Rating 对比 | | `minfo <歌曲ID/曲名/别名> [@用户]` | 查询自己或指定用户的单曲成绩信息 | | `ginfo [绿/黄/红/紫/白]<歌曲ID/曲名/别名>` | 查询谱面的全局样本统计(不是群组统计),默认紫谱 MASTER | | `分数线 <绿/黄/红/紫/白><歌曲ID> <目标达成率>` | 例如 `分数线 紫799 100`;目标填大于 0、小于 101 的数字,不带 `%`;`分数线 帮助` 查看说明 | | `友人对战` | 群内随机友人对战(可加数字收紧 Rating 差,如 `友人对战 300`) | | `友人对战排行` | 群内友人对战战绩排行(别名 `友人排行` / `友人对战排名`) | | `b50鸟加率` / `B50鸟加率` / `b50鳥加率` / `b50鸟+率` | 查看 B50 鸟加率统计(文字列表) | #### 群单曲排名 | 指令 | 说明 | |------|------| | `<曲名>排名` | 群内该曲成绩排名 | | `我的<曲名>排名` | 自己在群内的该曲排名 | | `<曲名>排名 ` | 查看前 N 名 | 支持在曲名前加难度,如 `白潘排名`、`我的白潘排名`。 ### 2.5 定数表 / 完成表 / 进度 | 指令 | 说明 | |------|------| | `<等级>定数表` | 等级定数表,如 `13+定数表` | | `<等级>完成表` | 等级完成表,如 `13+ap完成表` | | `<牌子>完成表` | 牌子完成表,如 `晓极完成表` | | `<牌子>进度` | 牌子进度,如 `晓极进度` | | `<等级><达成>进度` | 等级进度,如 `13+sss进度` | | `<等级><牌子>进度` | 等级牌子进度,如 `13将进度`、`14+极进度` | | `段位表 [段位]` | 段位认定课题图;默认 PRiSM PLUS,如 `段位表 真二段`,可 @ 用户 | | `<段位>段位表` | 段位认定课题图的反向写法,如 `真二段段位表` | | `我要上<分数>分` | 吃分推荐(多路线版,见 2.12 的「吃分推荐(多路线)」) | | `我要在<等级>上<分数>分` | 指定等级的吃分推荐 | | `<等级>分数列表` | 该等级分数列表 | | `新歌列表` | 当前版本新曲列表:按难度 / 等级 / 谱面类型 / 游玩状态筛选,可 @ 他人(别名 `新曲列表` / `B15列表`) | | `新曲统计` | 新曲完成度、平均 RA 与可推分曲目(别名 `新歌完成度` / `B15统计` / `b15统计`) | 达成标记支持:`ap` `fc` `fcp` `fs` `fsp` `ss` `sss` `sync` 等。 ::: tip 用法示例(新曲) `新歌列表 紫 13+`、`新歌列表 DX 未游玩`、`新歌列表 13.5`;同一功能按「当前版本」口径 (即 B15 口径)统计,与历史版本筛选(`镜代b50` 等)不同。 ::: ::: tip 段位表样本 段位认定图会展示 LIFE 规则、课题曲等级/定数、个人最高达成率、匿名样本量、均值、中位数、P25-P75 分布和 SSS 率。样本来自服务器近期已同步且未关闭数据共享的成绩;低样本、冷启动或聚合失败时会回退到内置样本。页脚会标明数据来源,段位通过与否仍以机台结算为准。 ::: ### 2.6 猜歌 ::: info 私聊触发小游戏 如需游玩猜歌、猜谱面等群游戏,请在私聊中按提示加入 [2 群(游戏群)993795066](https://qm.qq.com/q/PF5t1VXPi0) 后再发起(1 群为保证交流体验不解锁小游戏)。 ::: | 指令 | 说明 | |------|------| | `猜歌` | 文字猜歌 | | `猜曲绘` / `猜曲绘1`~`猜曲绘4` | 曲绘猜歌,可指定 1~4 级难度 | | `猜曲子` | 音频猜歌 | | `猜铺面` / `猜谱面` | 谱面视频猜歌(前段静音、曲末带 BGM;带正解音与倒计时) | | `猜Rating` | 随机选择 1~4 级难度,60 秒内猜匿名 B50 的总 Rating | | `猜Rating1`~`猜Rating5` | 指定难度;数字越大,展示卡片和辅助信息越少 | | `猜Rating3 90` | 指定 3 级难度,并把作答时间改为 90 秒(可设 30~300 秒) | | `重置猜rating` | 强制结束当前猜 Rating 对局 | | `找内鬼` / `找假卡` | 从 5 张卡片中找出不属于题主 B50、来自另一位群友的一张 | | `重置找内鬼` | 强制结束当前 B50 找内鬼对局 | | `舞萌极限二选一` / `极限二选一` / `二选一` | 参加 5 轮左右曲目比较的极限二选一;每轮发送 `左` 或 `右` 作答 | | `加入` / `参赛` | 加入当前极限二选一对局 | | `重置二选一` | 强制结束当前极限二选一对局 | | `你想我猜` / `20问猜曲` | Milk 心里想一首曲目,群友用「是/否」提问缩小范围并猜曲名;问得越少分越高,可叠加连击与加倍卡 | | `重置你想我猜` / `重置20问` | 强制结束当前你想我猜对局 | | `maidle` / `舞萌dle` | 舞萌 Dle:全群一起猜一首歌,每次作答回一张七项对比提示板;`maidle 困难` 不给曲名首字 / 曲绘提示 | | `猜 <曲名/别名/#ID>` / `dle <曲名>` | maidle 对局中作答(全群共 10 次机会) | | `重置maidle` / `结束maidle` | 结束当前 maidle 并揭晓答案;`maidle帮助` 查看规则 | | `猜群友` | 题面给三位群友,猜谁在这张谱面上达成率最高;15 秒内每人限一注,答案对错都静默,到点统一开牌 | | `重置猜群友` | 强制结束当前猜群友对局 | | `重置猜歌` | 强制结束当前文字猜歌对局(群内) | | `查看已有信息` / `查看提问列表` / `20问进度` / `提问列表` | 查看本局你想我猜的问答记录 | | `舞萌开字母` / `开字母` | 多曲标题开字母看板(默认 8 首);对局中直接发字母或别名,也可用 `开歌`;通关后计时结算 | | `开字母排行` / `开字母积分榜` | 本群开字母结算积分榜(图片) | | `开字母贡献榜` | 本群开字母贡献权重榜(图片) | | `开字母时间榜` | 本群最佳通关用时榜(图片,含头像) | | `开字母文字模式` / `文字模式` | 当前或下一局开字母使用纯文字看板 | | `开字母图片模式` / `图片模式` | 当前或下一局开字母使用图片看板 | | `开字母自动模式` / `自动模式` | 恢复按人数和负载自动选择开字母看板模式 | | `查加倍卡` | 查看自己的加倍卡 | | `猜歌积分排行` | 本群总积分排行 | | `本群猜歌排行` | 查看本群猜歌参与与积分排行 | | `猜歌积分日榜` / `猜歌积分周榜` / `猜歌积分月榜` / `猜歌积分年榜` / `猜歌积分赛季榜` | 本群各周期积分榜 | | `猜歌历史日榜` / `猜歌历史周榜` / `猜歌历史月榜` / `猜歌历史年榜` / `猜歌历史赛季榜` | 本群历史周期榜 | | `全服猜歌排行` / `全服猜歌总榜` | 全服猜歌总积分榜(文字) | | `全服猜歌日榜` / `全服猜歌周榜` / `全服猜歌月榜` / `全服猜歌年榜` / `全服猜歌赛季榜` | 全服各周期积分榜(文字) | | `我的猜歌` / `猜歌数据` / `猜歌统计` | 个人猜歌数据图:玩法近 30 日趋势 + 积分/次数占比环图 + 各玩法卡片与近期明细;可 `我的猜歌 @某人` 查对方 | ::: tip BREAK获取 小游戏每日 BREAK 上限:全局合计 **50** / 天;单游戏 猜歌/猜曲绘/猜曲子/猜铺面/你想我猜 各 20, 开字母/猜Rating/找内鬼 各 15,maidle 20,极限二选一 10,猜群友 50。单游戏到顶后该游戏不再发, 全局到顶后所有小游戏不再发,次日 0 点重置;双倍BREAK卡生效期间翻倍发放并豁免上述上限。发送 `小游戏上限` 查看当前配置与个人进度。 ::: ::: tip 我的猜歌数据 * 玩法:猜歌 / 猜曲绘 / 猜曲子 / 猜铺面 / 开字母 / 猜 Rating / 找内鬼 / 二选一 / 你想我猜 / 猜群友 * 图内含:近 30 日趋势、自适应玩法卡片、积分/次数占比环图、近期明细;结算后实时更新 * `@某人` 可看对方本群数据,例如 `我的猜歌 @张三`;无 at 仍查自己 * 群内发送 `我的AWMC` 会自动附带本群猜歌数据图(失败不影响账号状态主流程) ::: ::: tip 舞萌开字母 需先由群管发送 `开启mai猜歌`;与猜歌 / 曲绘 / 曲子 / 铺面**同群互斥**。 * 对局中直接发单个字母(如 `m`)开字符,或发曲名/别名猜中;也可 `开字母 m`、`开歌 xxx` * 字母补齐完整标题时记入补齐者贡献(✅ 字母补齐) * **局内不计分、不发 BREAK**;全部解开后按**用时星级 + 个人贡献**统一结算 * 用时精确到毫秒,展示为 `xx.xxx秒` * **星级(自适应)**:默认 ≤30 / 45 / 60 / 90 / 180 秒对应 5~1 星;群内最近通关变快后,按历史用时 P35 收紧五星上限(最低 15 秒、最高仍 30 秒),其它星按 1 : 1.5 : 2 : 3 : 6 相对五星缩放;更慢为 0 星最低奖池。结算文案会显示本局生效阈值 * **贡献权重**:有效开字母 ×1、补齐曲 ×3、开歌 ×4;无贡献不得分;奖池按权重分配 * **限时×3**:活动一周内结算分数与 BREAK 三倍,文案/榜图标注「限时×3」;过期自动恢复 1 倍 * 通关结算顺序:① 猜中/补齐文案 + 用时星级 + 奖池 ② 本局榜单·贡献分成图 ③ 全开看板图;亦可随时查 `开字母排行` / `开字母贡献榜` / `开字母时间榜` * **人多文字模式**:贡献人数或短时突发达阈值时,局中看板降级为纯文字;通关结算仍强制出图 * 非高峰另有 **2.5 秒/人**冷却(与下方猜歌全局限频独立);进入文字模式后跳过 * `不玩了` / `结束开字母`:结束并揭晓剩余,**不发**速度奖与贡献奖(不用通关奖池文案) ::: ::: warning 答题限流 同一用户全局 **2.5 秒**只能提交一次答案(猜歌 / 曲绘 / 曲子 / 铺面 / 猜 Rating / 找内鬼 / 猜群友); 具体间隔以 Bot 提示为准。超限时提示: `嘿嘿,你的答案被我吃掉啦!(x.x秒后才能发送新的答案)` ::: ::: tip 猜 Rating 需先由群管发送 `开启mai猜歌`;与其它猜歌玩法及开字母 **同群互斥**。 * 随机选一位群友 → 按难度隐藏其 B50 身份和成绩 → 60 秒内发数字猜 Rating → 可修改答案 → 最接近者获胜 * `猜Rating` 随机难度(1~4);`猜Rating1`~`猜Rating5` 指定难度;可在后面附加 30~300 秒作答时间,例如 `猜Rating3 90` * 被抽中的题主不能提交有效答案,也不会进入排名或获得奖励 * 结算:倒计时结束 → 揭晓真实 Rating + 昵称 → 发放积分 / BREAK → 展示完整 B50 图 **分级条件与前三名奖励**: | 难度 | 展示/隐藏 | 🥇 | 🥈 | 🥉 | |------|-----------|----|----|----| | 1 | 20 张;保留成绩等级、FC/FS | 15分 + 2 BREAK | 5分 + 1 BREAK | 3分 | | 2 | 16 张;隐藏 FC/FS | 18分 + 2 BREAK | 6分 + 1 BREAK | 4分 | | 3 | 12 张;再隐藏成绩等级 | 21分 + 2 BREAK | 7分 + 1 BREAK | 5分 | | 4 | 8 张;仅保留最少识别信息 | 24分 + 2 BREAK | 8分 + 1 BREAK | 6分 | | 5 | 4 张;几乎无辅助信息 | 30分 + 2 BREAK | 10分 + 1 BREAK | 7分 | 其余有效参与者固定获得 1 积分。BREAK 奖励与难度无关:冠/亚固定 2 / 1 BREAK,季军仅得积分;有效参与(不含题主)满 3 人且冠军误差 ≤ 200 时才发放。 ::: ::: tip B50 找内鬼 需先由群管发送 `开启mai猜歌`;与其它猜歌玩法及开字母 **同群互斥**。 * 题面混入题主的 4 张 B50 卡片和另一位群友的 1 张卡片;内鬼歌曲不在题主 B50 中,并非篡改 RA * 45 秒内发送 `1`~`5` 作答,可以修改;速度排名按最终答案的提交时间计算 * 题主和内鬼卡片的原主人均不能提交有效答案,也不会进入奖励名单 * 答对第一名获得 10 积分 + 2 BREAK,第二名 6 积分 + 1 BREAK,第三名及后续答对者 3 积分 * 有效提交人数(排除题主和内鬼本人)至少 3 人才发 BREAK;不足时仍按规则发积分 * 结算时标出内鬼卡片并揭晓题主与内鬼身份 ::: ::: tip 极限二选一 需先由群管发送 `开启mai猜歌`;发 `极限二选一` 开局后,发送 `加入` 或 `参赛` 报名。 * 共 5 轮,每轮比较左右两首歌曲的随机指标,参赛者发送 `左` 或 `右` 作答 * 每轮按正确与否累计分数,结束时统一结算并展示揭晓图 * 揭晓图会在谱面定数旁明确标注:绿 Basic、黄 Advanced、红 Expert、紫 Master、白 Re:MASTER * `重置二选一` 可由管理员或发起者强制结束当前对局 ::: ::: tip 你想我猜(20 问猜曲) 需先由群管发送 `开启mai猜歌`;与其它猜歌玩法及开字母 **同群互斥**。 * 发送 `你想我猜` / `20问猜曲` 开局,Milk 心里想一首舞萌曲目 * 群友直接发送「是/否」类问题(如「是不是紫谱」「定数大于 14 吗」),由 LLM 理解并回答;也支持比较词、区间与分类/谱师/版本等条件 * 可随时直接猜曲名;输入 `查看已有信息` / `20问进度` 查看本局问答记录,`重置你想我猜` 强制结束 * 猜错不结束、超时公布答案;问得越少分越高,积分可叠加连击与加倍卡 ::: ::: tip 猜群友 需先由群管发送 `开启mai猜歌`;与其它猜歌玩法 **同群互斥**。 * 发 `猜群友` 开局:题面给出**三位群友**和一张谱面,猜谁在这张谱面上的达成率最高 * **每人只能交一注**:作答期间题板不会透露对错,重复作答只回一句提示;15 秒后**统一开牌** * 结算:按选项归并所有作答者,答案选项标 ✅;押对者逐人入账(最早押中的一注按首答 ×2, 连击口径与其它玩法一致),每押中一胜固定 +1 BREAK(`groupmate_break_per_win` 可调; 积分倍率与加倍卡**不放大** BREAK) * 未完成 qbind 的游客也可参与并计入榜单,只是不发 BREAK * 出题会避开本群最近出过的谱面,且只出 Expert 及以上难度;`重置猜群友` 强制结束本局 ::: ::: tip 舞萌 Dle(maidle) 需先由群管发送 `开启mai猜歌`;与其它猜歌玩法及开字母 **同群互斥**。玩法类似 Wordle: * 发 `maidle` 开局,从全曲库(不含宴会场)出一首歌;对局中再发一次 `maidle` = 重发提示板 * 发 `猜 曲名`(也可 `猜 别名`、`猜 #ID`)作答,每次作答对比 **7 项**:版本 / 分类 / BPM / 曲师 / 紫谱定数 / 类型 / 谱师 * 🟩 绿 = 一致;🟨 黄 = 接近(版本相邻、BPM ±10、定数 ±0.5、曲师 / 谱师有人重合) * ▲ / ▼ = 答案比你猜的更新 / 更高,或更旧 / 更低 * **全群共 10 次机会**,同一人两次作答至少间隔 6 秒;找不到的曲名、多义别名、已经猜过的歌不消耗次数 * 普通模式:错 6 次后提示曲名首字,只剩最后一猜时再给模糊曲绘;`maidle 困难` 没有这些提示 * 越早猜中分越高:第 1 猜 12 分 → 第 10 猜 2 分,困难模式每档 +3;猜中者另得猜对 BREAK * 有人猜中时,其他有效作答过的玩家各得**协助奖励** 2 分 + 1 BREAK;没人猜中则不发 * 约 4 分钟无人作答自动结束并揭晓;`重置maidle` 可提前结束 ::: ### 2.7 PC 数 | 指令 | 说明 | |------|------| | `更新pc数` | 绑定机台二维码并同步 PC 数;完成后会提示可用指令 | | `我的pc数` | 查看个人 PC 数统计(总次数 + 游玩最多的 15 首) | | `pc排行` / `pc全部排行` / `PC全部排行` | 全部已同步用户的 PC 总量排行(文字列表,标题为「PC全部排行(共 N 人)」) | | `pc数 <歌曲>` | 查看指定曲目 PC 数 | | `pc50` | 已同步机台全量 PC 记录中游玩最多的 50 张谱面,不限于 Rating B50;图中 B35/B15 仅为排版分区 | | `<分类>pc50` | 按曲风筛选 PC 前 50:`术力口pc50` / `东方pc50` / `舞萌pc50` / `其他pc50` / `中二pc50` / `流行pc50` / `宴谱pc50` | | `<等级>pc50` | 按当前等级筛选 PC 排行,例如 `13pc50` / `14+pc50`;可 @ 用户 | | `pc等级 [等级]` | 只看指定等级(1~15,可带 `+`,需曲库存在)的谱面 PC 排行;不带参数时给出用法与快捷按钮(别名 `等级pc` / `PC等级`) | | `pca50` | B50 内按 PC 排序(Rating B50 的 50 首重排,输出图片) | | `游玩排行50` / `游玩PC50` / `PC游玩50` / `pc游玩50` | 全库游玩最多的 50 首谱面(不限于 Rating B50,输出图片) | #### 命令对比 | 命令 | 作用 | |------|------| | `游玩排行50` | 全库游玩最多的 50 首(输出图片) | | `pca50` | 你 Rating B50 内的 50 首,按 PC 重排(输出图片) | | `pc排行` | 全用户 PC 总量排行(输出文字) | ::: info 说明 `游玩排行50` 为避免与 `pc排行` 前缀冲突,未命名为 `pc排行50`。例如 `sølips`(137 次)、`Believe the Rainbow`(120 次)等高频曲目会出现在游玩排行图中,即使不在你的 B50 内。 ::: ### 2.8 数据源与落雪查分器 | 指令 | 说明 | |------|------| | `数据源` | 查看当前数据源(新用户默认为 AWMCNET) | | `数据源 AWMCNET` / `数据源 水鱼` / `数据源 落雪` | 切换个人数据源 | | `成绩趋势 [天数]` | 查看 AWMC NET. 服务端 Rating 趋势(别名 `rating趋势` / `mai趋势` / `awmc趋势`) | | `lxbind` | 绑定落雪查分器(OAuth) | | `lxunbind` | 解绑落雪查分器 | | `lxb50` | 使用落雪数据源查询 B50 | ::: info 说明 AWMC NET. 是默认成绩库,发送一次 `SGWCMAID` 即可查分,无需绑定水鱼/落雪。 B50 系列按用户偏好自动走 AWMCNET/水鱼/落雪;部分功能(拟合、含金量等)落雪不支持时会回退水鱼。 ::: ### 2.9 谱面印象 | 指令 | 说明 | |------|------| | `谱面印象 <曲目>` | 查看谱面印象 | | `写谱面印象 <曲目> ` | 上传谱面印象 | | `谱面排行` / `谱面热度` | 查看谱面印象热度排行 | ::: tip 提示 使用 `查歌`(ID 或别名)查询时,会**自动附带**谱面印象、标签、定数变化、预览链接等合并转发。 ::: ### 2.10 AWMC BREAK | 指令 | 说明 | |------|------| | `AWMC签到` | 签到获取 BREAK;距上次成功签到满 24 小时即可再签 | | `我的AWMC` | 查看账号状态与使用统计(含发票 returnCode 统计);群内附带猜歌数据图 | | `AWMC帮助` | 查看 BREAK 系统说明 | | `转账BREAK @用户 数量` | 向其他用户转账 BREAK | | `BREAK抽奖 [1-1000]` | 默认每次消耗 2 BREAK,可一次抽 1~1000 次 | ::: tip BREAK 食用说明 有修改建议请前往 [AWMC 论坛](https://bbs.wmc.pub/forums/awmc.19/) 提出。接入 AI 后会自动修改机器人并更新。 1. 签到可以获得 BREAK(距上次**成功签到满 24 小时**即可再签),连续签到可以获得更多 BREAK。 2. 锐评按实际 Token 用量计费(基础价最低 3、最高 30 BREAK;LLM 峰时 ×2),调用前预扣 14 BREAK,成功后多退少补,失败全退。 3. 可以使用 BREAK 抽奖,最多支持 1000 连抽。 4. 普通猜歌成功默认获得 1 BREAK;猜 Rating / 找内鬼按本局排名与难度结算。 5. 「今日舞萌」会根据人品值增加 BREAK。 6. 和群主谈情说爱,可能会获得一些 BREAK。 ::: > 查分指令每日首次实际请求查分器 API 免费,之后每次扣 1 BREAK(缓存命中不扣)。 > 普通猜歌每次猜对默认获得 1 BREAK;猜 Rating / 找内鬼按玩法规则结算。成绩上传在外部操作成功后结算,每日首次成功免费。 > 发票成功按价收费,实际提交后失败默认罚 100 BREAK;未用票券拦截等特殊情况见[票券计费与处罚](#_1-5-break-与票券)。 ### 2.11 课表 课表功能支持导入课程 JSON、查看个人或群组课表,并可导出当前课表。 | 命令 | 说明 | |------|------| | `课表帮助` | 查看课表功能帮助(别名:`classtable帮助` / `ct帮助` / `课表菜单`) | | `导入课表` | 上传课表 JSON 文件并导入(别名:`ct导入` / `导入我的课表`) | | `今天课表` / `明天课表` / `后天课表` / `昨天课表` | 查看对应日期课表 | | `本周课表` | 查看本周个人课表(别名:`本周课程` / `ct周`) | | `群课表` / `明天群课表` | 查看群内成员汇总课表或明日群课表 | | `我的课表` | 查看课表状态(别名:`ct状态` / `课表状态`) | | `查课表` | 按日期或关键词查询课表(别名:`ct查`) | | `删除我的课表` | 删除已导入的个人课表(别名:`ct删除` / `课表删除`) | | `导出我的课表` | 导出个人课表(别名:`课表导出` / `ct导出`) | | `课表` | 查询指定日期课表,例如 `2026-09-08课表` | ### 2.12 高级功能 以下为查询 Bot 的进阶指令与变体,日常使用可跳过。 #### 成绩图变体 | 命令 | 说明 | |------|------| | `紫b50` / `白b50` / `Master b50` 等 | 按谱面难度筛选 B50(紫=Master,白=Re:MASTER) | | `三星b50` / `四星b50` | 按成绩 DX 星数筛选 B50(分别为 3 星、4 星) | | `3b50` / `4b50` / `13+b50` | 按等级/定数筛选 B50;数字等级与“三星/四星”星数筛选不是同一条件 | | `紫13+b50` / `14.0b50` / `13-14b50` | 组合筛选谱面难度与等级/定数;也支持 `Basic`、`Master`、`Re:MASTER` 等英文难度名 | | `<筛选条件>ab50`(如 `13+ab50`) | 与 `<筛选条件>b50` 相同,但不按 B35/B15 分组,直接从筛选结果中取 Rating 最高的 50 首 | | `紫ab50` 等 | 按难度筛选 ab50 | | `镜代b50` 等 | 按版本代筛选 B50 | | `l镜代b50` / `l爽代b35` 等 | 历代版本定数重算 B50/B35 | | `dx2026b35` | 彩代 B35 | | `dx2025b50` | 使用 2026-06-09 本地存档和 PRiSM 定数重算 2025 版 B35/B15 | | `fcb50` / `fcallb50` | FC 向 B50 | | `apb50` / `apallb50` | AP 向 B50 | | `拟合b50` / `拟合b50全部` | 按拟合定数排序 | | `寸b50` / `寸ab50` | 寸止(踩评级线)成绩 | | `锁血b50` / `锁血ab50` | 锁血(踩评级下限)成绩 | | `越级b50` / `越级ab50` | 越级成绩 | | `理想b50` / `理想ab50` | 评级升一档后的理想 B50 | | `含金量` / `含水量` | 成绩含金量/含水量分析图 | | `锐评风格 查看` | 查看当前保存的 B50 锐评风格 | | `锐评风格 设置 <描述>` | 保存自定义 B50 锐评口吻 | | `锐评风格 重置` | 清除自定义锐评风格 | #### 分析 / 推分 / 对战 | 主命令 | 别名 | 用法示例 | 说明 | |--------|------|----------|------| | `弱项处方` | `弱项处方单` `底力处方` `练习推荐` | `弱项处方` / `弱项处方@某人` | 按你的实际成绩找出弱项,生成八张练习卡的训练面板;练习区间锚定 B50 定数 | | `b50风险` | `B50风险` `b50风险预警` `风险预警` | `b50风险` / `b50风险@某人` | B50 风险预警图片 | | `对战战绩` | `headtohead` `h2h` `对决战绩` | `对战战绩@群友` | Head-to-Head 对比图 | | `目标rating` | `rating沙盘` `目标分` `推分沙盘` | `目标rating 16000` / `目标rating 15500@某人` | 推分沙盘文字方案 | | `底力分析` | — | `底力分析` / `底力分析@某人` | 单张「全景成绩统计」图:按谱面标签对比你在同段定数下的达成率,强弱项相对你的整体水平着色;样本不足的标签标「证据不足」,仅供参考 | | `锐评一下` | `分析b50` `B50分析` | `锐评一下` | 调用 LLM 对 B50 进行锐评;按实际 Token 计费,调用前预扣 14 BREAK,成功多退少补、失败全退 | #### 地板 | 命令 | 说明 | |------|------| | `地板` | 查看整体 B35/B15 地板 | | `地板 14+` | 查看 B50 中 14+ 谱面的地板 | | `地板 紫13` / `地板 master` | 按难度等级 + 定数筛选 | | `b50地板` / `rating地板` | 同上(别名) | | `地板 @某人` | 查他人地板 | #### 中文简称进度 | 指令示例 | 等价于 | 完成条件 | |----------|--------|----------| | `13将` / `13将进度` | `13 sss进度` | 达成率 ≥100% | | `14+极` | `14+ fc进度` | FC 及以上 | | `13神` | `13 ap进度` | AP 及以上 | | `13舞舞` | `13 fsd进度` | FSD 及以上 | | `13者` | `13 bbb进度` | 达成率 ≥80% | 也支持 `13将 未完成`、`13将 2` 等分页筛选,以及 `13将 @某人` 查询他人。 #### 数据存储与报告 ::: warning 注意 需先 **开启存储数据**。 ::: | 命令 | 说明 | |------|------| | `开启存储数据` / `开启数据存储` | 开启自动存储,并尝试立即同步一次完整数据 | | `立即存储数据` | 手动存一份快照 | | `关闭存储数据` | 关闭自动存储 | | `存储历史` | 查看历史存档 ID | | `查看存档 ` | 查看某次快照详情 | | `日报` / `周报` / `月报` | 近 1/7/30 天成绩报告图 | | `年报` | 近一年成绩报告图 | | `对比存档 <旧ID> <新ID>` | 两次存档对比报告 | | `牌子统计` / `统计牌子` | 实时拉取查分器全量成绩,生成各代姓名框获取条件与个人进度长图;曲绘标注未打 / 已打 / 已鸟,附图例;渲染失败回退文字。需查分器已有成绩且绑定 / Token 可用 | #### 吃分推荐(多路线) `今日吃分推荐`(别名 `吃分推荐` / `今日推分推荐`)与 `我要上<分数>分` 现在都由**多路线版** 生成:把候选谱面分成**稳妥吃分 / 挑战突破 / 探索**三条路线,每条给**独立净收益** (不是可以相加的总和),并用一张图给出「当前 → 目标」的达成率与理由。 | 命令 | 说明 | |------|------| | `今日吃分推荐` / `吃分推荐` | 生成多路线吃分推荐(需先开启存储数据,计入 `today_gain_recommend` 计费) | | `吃分换批` | 在同一个会话里换一批(已见过的谱面不重复展示,**不重复扣生成费**) | | `吃分反馈 <编号> <不喜欢/卡住/跳过>` | 按图上的编号反馈,影响后续推荐的筛选 | | `吃分撤销` | 撤销本会话的反馈(同谱面的其它类别不受影响) | | `吃分重看` | 显式重开会话(保留长期反馈) | | `吃分练习` | 打开「瓶颈练习」页,与直接吃分分开 | | `我要上<分数>分` / `我要在<等级>上<分数>分` | 目标分推分(旧入口,已委托多路线实现,支持私聊) | ::: tip 群体辅助 推荐默认叠加**群体辅助**(依据已开启数据共享的群体数据做基线),可提升冷门谱面的排序质量; 未共享或样本不足时自动退回个人基线。 ::: #### 群聊互动扩展 | 命令 | 说明 | |------|------| | `群聊rating排行榜` | 群内 Rating 排行 | | `群吃分榜` / `群寸止榜` / `群锁血榜` | 群内各类榜单 | | `我的群吃分榜 [天数]` | 群内查看自己的 Rating 增量排名及前后各 5 名;别名 `我的吃分榜` / `我的群内吃分榜`。默认近 7 天,范围 1~90(如 `我的群吃分榜 30`);需本群查分 QQ 映射、成绩功能已开启,并开启存储且周期内至少有 2 次存档 | | `boss` / `Boss` / `BOSS` / `全服boss` / `全服Boss` / `全服BOSS` | 群内无参数查看全服猜歌 Boss 概览;普通用户可用,但源码默认关闭,不代表已上线 | | `开启mai猜歌` / `关闭mai猜歌` | **群管**:开关猜歌 | | `开启狼人杀` / `关闭狼人杀` | **群管**:开关狼人杀(与猜歌共用群开关) | | `开启phi` / `关闭phi` | **群管**:开关 Phigros 查分(详见 [Phigros 查分](/guide/bot/phigros)) | | `开启别名推送` / `关闭别名推送` | **群管**:本群别名推送 | | `排卡帮助` / `排卡教程` | 查看机厅排卡功能用法(详见下方「机厅排卡」) | | `排卡列表` | 查看已配置的机厅排卡列表 | | `小游戏权限不再提醒 <版本号>` | **群主 / 群管**:按最近一次提醒里的版本号关闭本群「小游戏权限」提醒(别名 `游戏权限不再提醒`) | ::: info 全服 Boss 可用性 源码中 Boss 总开关与自动结算默认均为关闭(`raid_enabled=0`、`raid_auto_settle=0`),未开放时回复「全服 Boss 暂未开放」。该查询入口无单独扣费逻辑;奖励是否开放、是否结算以实际 Bot 公告与提示为准,不能据此视为自动发奖已启用。 ::: ::: tip 官方 QQ 的「小游戏权限」 官方 QQ 群要在群内开小游戏(猜歌、猜群友、狼人杀等),需要群主为机器人开启 「允许主动消息 / 接收消息」权限。缺失时 Bot 会在开局时贴图提醒,群主核对设置后按提醒里的 版本号发送 `小游戏权限不再提醒 <版本号>`(或点提醒上的「不再提醒」按钮)即可停止同一版本的 重复提醒;权限状态发生变化后提醒会自动恢复。 ::: #### 机厅排卡 排卡需要群管理先在 [群管理后台](/guide/bot/group-console) 开启,并在「机厅排卡」里添加机厅与别名。之后群友直接发送 **机厅别名 + 后缀** 即可,例如机厅别名是 `xjj`: | 写法 | 说明 | |------|------| | `xjj几` / `xjjj` | 查询当前人数、机台数、上报时间和预计等待时间 | | `xjj3` | 上报当前人数为 3 人 | | `xjj+1` / `xjj-1` | 在当前人数上加减 | | `predict xjj` | 按近期上报预测接下来的人数趋势(样本不足时提示) | | `weather xjj` | 查看机厅所在地天气(需要后台填写经纬度) | | `subweather xjj` / `unsubweather xjj` | **群管**:订阅 / 取消每日天气摘要推送;`subweather list` 查看已订阅机厅 | | `排卡列表` | 列出本群所有机厅及当前人数 | * 等待时间按「每台机每轮约 17 分钟」估算,仅供参考; * 上报人数超过 99 或与上次相差 50 以上会被视为误输入并忽略; * 后台填写 Nearcade 店铺 / 机种 ID 后,上报会同步到 [Nearcade](https://nearcade.cn),查询时优先读取 Nearcade 数据。 #### 管理员渲染与预制状态 | 命令 | 说明 | |------|------| | `猜歌预制状态` / `猜歌预制` / `预制状态` | **管理员**:查看猜曲/猜铺面预制任务状态 | | `渲染状态` / `查询渲染` / `渲染任务` | **管理员**:查看图片与视频渲染任务进度 | | `发加倍卡 @用户 [数量] [有效小时]` | **群管**:默认 1 张、24 小时;也可 `发加倍卡 全体 [数量] [有效小时]`。猜对消耗 1 张使积分 ×2,不是商店的双倍 BREAK 卡;官方 QQ「全体」仅覆盖已记录的群成员 | | `迁移数据` | **管理员**:迁移猜歌数据 | #### 管理员与平台配置 以下指令需要插件管理员或群管理权限,普通用户无需使用。 | 命令 | 说明 | |------|------| | `设置入群欢迎词 <文本>` / `开启入群欢迎` / `关闭入群欢迎` / `查看入群欢迎` | **插件管理员**:管理入群欢迎语 | | `群绑定QQ ` / `解绑群QQ` / `群绑定状态` | 管理官方 QQ 群与历史 QQ 群号映射 | | `强制绑定QQ ` | 管理员协助绑定用户 QQ | | `设置QQ菜单` / `QQ菜单` | 推送或查询官方 QQ 菜单 | | `设置QQ面板` / `QQ面板列表` / `QQ面板详情` / `删除QQ面板` | 管理官方 QQ 指令面板 | | `我的id` / `platformid` | 查询当前平台用户 ID(普通用户可用) | | `锐评风格 设置 <描述>` / `锐评风格 重置` | 保存或清除个人锐评风格;查看可用 `锐评风格 查看` | | `更新maimai数据` / `更新别名库` | 更新曲库或别名库 | | `更新定数表` / `更新完成表` | **插件管理员**:更新定数 / 完成表预制资源 | | `发布公告` / `编辑公告` / `删除公告` | 管理 Bot 公告 | | `创建卡密` / `查询卡密` / `作废卡密` / `卡密列表` / `卡密统计` | 管理 BREAK 卡密 | | `锐评模型配置` | 查看或调整 LLM 锐评运行配置 | | `向量检索配置` | 查看或调整曲名向量检索(embedding)配置:`开` / `关` / `URL <地址>` / `模型 <名称>`(别名 `曲名向量配置` / `embedding配置`) | | `命令排行 [命令]` | 查看近 7 天全服命令使用排行(Top 20);带命令名时给出该命令的 7 天使用明细(图片) | | `关闭BREAK计费` / `开启BREAK计费` | 临时切换 BREAK 计费状态 | | `群成员记录` | 查看官方 QQ 群成员映射记录 | | `后台身份` | 查看群管理后台识别到的当前身份 | | `群管理` / `管理后台` / `群后台` | 获取本群群管理后台的一次性登录链接(详见 [群管理后台](/guide/bot/group-console)) | | `设置全局签到加成 <百分比> [开始日期] [结束日期]` | 设置全局签到加成;`0` / `off` / `关闭` 立即停止 | | `加成设置` / `加成管理` / `加成配置` | 管理签到加成规则:`添加` / `编辑` / `开关` / `删除`(周期 / 群 / 日期 / 连签) | | `维护模式 [开/关]` | 开启或关闭全局维护模式 | | `维护消息 <文本>` | 设置维护期间对用户的提示文案 | #### 附:关于「拍一拍」 BOT 对 QQ 的拍一拍会做出反馈。若 BOT 是管理,可能触发随机时长的**禁言**(最高 1 天),拍之前请三思。 ### 2.13 狼人杀 群内开局、群内 / 私聊双通道操作的多人狼人杀。状态只存在内存里(**Bot 重启即解散本局**), 玩法细节以 `狼人杀帮助` 的实时文案为准。 | 指令 | 说明 | |------|------| | `狼人杀` | 发起一局,返回游戏 ID | | `狼人杀加入` / `狼人杀报名` | 报名(也可私聊 `加入 <游戏ID>`) | | `狼人杀开始` / `狼人杀开局` | **发起者 / 管理员**:人数达标时提前开局 | | `狼人杀延长` / `延长报名` / `延长` | 报名阶段延长加入窗口 30 秒(全局最多 2 次) | | `退出狼人杀` / `退出报名` | 报名阶段退出(开局后要打完本局,别名 `不玩了`) | | `狼人杀状态` / `狼人杀战况` | 查看阶段、存活情况与倒计时 | | `狼人杀名单` / `狼人杀玩家` | 查看本局玩家名单 | | `结束狼人杀` / `解散狼人杀` | **发起者 / 管理员**:强制结束本局 | | `狼人杀帮助` / `狼人杀说明` | 查看实时玩法说明 | | `开启狼人杀` / `关闭狼人杀` | **群管**:本群开关(与猜歌共用同一个群开关) | **私聊动作**:`身份`(重发身份牌)、`刀 <编号>`、`查验 <编号>`、`救` / `毒 <编号>` / `不用`、 `守 <编号>`、`开枪 <编号>` / `不开枪`、`投票 <编号>` / `弃权`、`说 <内容>`;9 人以上还有警长 玩法(`上警` / `退水` / `投警 <编号>` / `警徽流 <编号>` / `撕警徽`)。 ::: tip 对局规则速览 * 人数 4~16;身份按「狼 ≈ ⌊人数 / 3⌋、预言家 1、女巫 1、其余平民」推导,人数多时加入守卫、 白痴、猎人等角色(以实时播报为准)。 * 白天分三段:**轮流发言**(每位发言人固定时长,只有当前发言人能在群里说话,`结束发言` 可提前交棒)→ **互通交流** → **投票窗口**(群里禁言、私信投票,从进入白天起随时可投)。 * 夜间默认两段:🛡️守卫 / 🐺狼人 / 🔮预言家 同时行动,之后 🧪女巫 用药。 * 每个阶段开场有 5 秒宽容期;非当前发言人、已出局玩家在群里发言会被**撤回并扣 BREAK** (存活 10 / 出局 100,可通过配置调整)。 * 结算按奖池瓜分:基础奖池随人数线性增长(4 人 100,上限 600),狼人获胜整体 ×1.2, 另有存活加成与 MVP 加成;奖励开关与参数由管理员热配置。 ::: ### 2.14 投票 群管理员可在群内发起投票,结果在群管理后台的「投票结果」页查看(含条形图 / 饼图与明细)。 | 指令 | 说明 | |------|------| | `创建投票 <标题> <选项A/选项B/...>` | **群管**:本群多选项投票(至少 2 个选项) | | `创建曲目投票 <标题> [候选1/候选2/...]` | **群管**:曲目投票;候选可留空 = 开放提交(回复曲名参与) | | `创建范围投票 <标题> 难度13~14 [时长]` | **群管**:限定定数区间的选歌投票(别名 `创建定数投票`) | | `投票 <编号> [内容]` | 参与 / 改票;不带内容时展示详情与按钮(别名 `参与投票`) | | `投票结果 <编号>` | 查看该投票的匿名票数榜单 | | `投票列表` | 列出进行中的投票(别名 `进行中的投票`) | | `关闭投票 <编号>` | 提前结算(别名 `结束投票`) | * 时长可写 `30分钟` / `2小时`,缺省 60 分钟;到点自动结算并播报结果。 * 创建 / 关闭需要**群主或群管理员**权限;插件管理员还可以把标题带上「全服」来创建**全服投票** (所有群可见、票数全局聚合,结算播报只发创建时所在的群)。 * 群管理后台的「投票结果」页可查看投票列表、票数图表与**管理端可见的投票明细**。 ### 2.15 入群验证、自动审批与踢人(群管) {#group-moderation} 以下指令只能在群里使用,需要**群主 / 群管理员**(或在群管理后台被授权的管理)才能执行;Bot 需要先被设为本群管理员,才能审批、踢人或禁言。 #### 入群人机验证 开启后,新成员入群时 Bot 会在群里出一道题,新成员**直接在群里回复答案**即可通过;超时或答错次数用完会被移出群聊。 | 指令 | 说明 | |------|------| | `入群验证` / `入群验证 状态` | 查看本群验证配置(别名 `群验证` / `人机验证`) | | `入群验证 开启` / `入群验证 关闭` | 开关本群入群验证 | | `入群验证 题目 算术` / `入群验证 题目 验证码` | 切换题目类型:加减乘算术题,或 4 位英数验证码 | | `入群验证 兼容模式 开启` / `关闭` | 兼容模式(默认开启)下所有平台都发纯文本题目;关闭后部分客户端可能无法答题 | * 默认 90 秒内作答,最多 3 次机会;验证期间该成员发的其它指令不会被执行。 * 未通过时优先踢出群聊;如果 Bot 没有开通官方踢人权限(错误码 11253),会改为**禁言 30 天**,并提示管理员手动处理。 #### 入群自动审批 按关键词自动处理入群申请(匹配申请人填写的验证信息)。开启后 Bot 会在后台定时扫描待审批列表。 | 指令 | 说明 | |------|------| | `自动审批` / `自动审批 查看` | 查看本群自动审批配置(别名 `加群自动审批` / `入群审批设置`) | | `自动审批 开启` / `自动审批 关闭` | 开关自动审批 | | `自动审批 关键词 添加 <词>` | 添加放行关键词,例如 `自动审批 关键词 添加 舞萌` | | `自动审批 关键词 删除 <词>` / `清空` / `查看` | 管理关键词列表 | | `自动审批 严格模式 开启` / `关闭` | 严格模式:没匹配关键词的申请**自动拒绝**;温和模式(默认):保留给管理员人工审核 | | `自动审批 频率 <秒>` | 后台扫描间隔,默认 30 秒,可设 15~600 秒 | | `自动审批 播报 开启` / `关闭` | 自动通过时是否在群里播报新成员 | | `群审批` | 立即拉取一次待审批列表并按规则处理,回报通过 / 拒绝 / 挂起人数(别名 `执行群审批` / `处理入群申请`) | #### 踢人与群黑名单 | 指令 | 说明 | |------|------| | `mai踢 @某人` | 把成员移出群聊(别名 `踢人` / `移出成员`;带 @ 时也可直接发 `踢 @某人`) | | `mai踢 @某人 -b` | 移出群聊并同时加入群黑名单,之后无法再申请入群 | | `mai拉黑 ` | 把**已不在群里**的成员加入黑名单(别名 `拉黑` / `群黑名单`);还在群里的请用 `mai踢 @某人 -b` | | `mai解封 @某人` / `mai解封 ` | 移出群黑名单(别名 `解封` / `移出黑名单`) | ::: info 不会误伤聊天 `踢` 只有在后面 @ 了成员,或写成 `踢 ` 时才会触发;「踢我」「踢球」之类的日常聊天不会被当成指令。 官方 QQ 群的踢人 / 黑名单接口需要腾讯开通权限,未开通时踢人会自动降级为禁言 30 天。 ::: *** ## 交流与反馈 * **QQ 群**:[1 群 1072033605](https://qm.qq.com/q/Gj3QmfEyY0)(主群)· [2 群 993795066](https://qm.qq.com/q/PF5t1VXPi0)(游戏)· [群规](/guide/group-rules) * **官网**:https://awmc.cc --- --- url: https://wiki.awmc.team/guide/bot/terms.md --- # AWMC BOT 服务协议与隐私政策 ## 一、引言 欢迎您使用由 **AWMC 团队(以下简称“我们”)开发并运维的 AWMC BOT(以下简称“本服务”)**。 在使用本服务前,请您务必认真阅读并充分理解本协议全部内容。若您未满18周岁,请在监护人同意下使用本服务。 当您在 QQ 或相关平台使用本服务时,即视为您已阅读并同意本协议全部内容。 使用 AWMCBOT 并绑定数据,即表示您同意我们在提供本服务所必需的范围内存储、处理或转存您的相关数据。具体数据类型、使用目的、存储期限及您的权利以本协议后续条款为准。 如您不同意,请立即停止使用。 ::: warning 协议修改恕不另行通知 **本协议可能随时修改,修改恕不另行通知**,也不会逐一告知每一位用户。 请以本页当前内容为准;继续使用本服务(含继续在群内 @ 或私聊使用 Bot)即视为接受修改后的版本。 对修改有异议的,请停止使用本服务。 ::: ## 二、服务说明 AWMC BOT 是基于 **Koishi / NoneBot** 框架开发的机器人,运行于 QQ 平台,主要提供: * 舞萌等游戏数据查询 * 群聊工具功能 * 娱乐互动功能 官方交流群:1 群 `1072033605`(主群)、2 群 `993795066`(游戏群)、3 群 `1094792527`(无 Bot)、4 群 `1048450426`。 群列表、各群定位与处罚规则见[交流群群规](/guide/group-rules)。 ## 三、我们收集的信息 为实现服务功能,我们可能收集以下信息: ### 1. 基础信息 * 用户 ID(QQ号) * 昵称、头像 ### 2. 使用数据 * 聊天消息内容(仅用于指令处理) * 群聊环境信息 ### 3. 功能相关数据 * 游戏存档数据 * 登录凭证(如 Cookie) ### 4. 技术信息 * 网络请求信息 * 设备相关信息 我方同意以上信息将受限于第四条数据使用与存储的约束。 ## 四、数据使用与存储 ### 1. 使用范围 仅用于: * 功能实现 * 数据展示 您使用 AWMCBOT 并绑定数据,即表示您已授权我们在上述服务范围内对相关数据进行存储、处理或转存。 ### 2. 公开数据与训练使用(默认开启) 您的玩家成绩、Rating、趋势等数据,将在**脱敏**后作为公开数据处理,可用于数据分析、模型训练等用途。该功能**默认开启**。 若您不希望共享上述信息,可向机器人发送: ``` 不同意共享我的数据 ``` 以关闭该功能。关闭后,我们将不再将您的相关数据作为上述公开数据对外使用。 ### 3. 存储期限 * 绑定数据保存 **12个月** * 用户解绑后删除数据(法律另有规定除外) ### 4. 数据安全 我们会采取中华人民共和国各项法律所规定的合理安全措施,但无法完全避免网络风险。 ## 五、第三方服务 本服务使用: * Koishi / NoneBot * NapCat * anti-api(AWMC团队自研) 第三方服务可能独立处理数据,我们不对其行为负责。 ## 六、用户权利 您有权: * 查询、修改、删除数据 * 解除绑定 * 停止使用服务 申请方式:通过联系方式提交。 ## 七、收费与赞助说明 ### 1. 免费服务 本服务为社区驱动的**半公益项目**,基础与核心功能**永久免费**开放,**不接受任何形式的强制收费**;未赞助不会影响核心功能的正常使用。 ### 2. 付费功能 部分功能可能为付费或赞助支持功能,包括但不限于: * 高级功能 * 优先服务权限 具体以实际开放内容为准。 ### 3. 支付说明 * 所有付费内容一经完成,不支持无理由退款 * 因技术故障导致服务无法提供的,将视情况补偿或调整 * 赞助权益若因技术故障未能正常生效,可联系我们核实,并视情况调整或补偿 ### 4. 赞助性质 用户自愿赞助行为属于支持开发,不视为强制付费服务。赞助可随时停止,停止后不影响免费核心功能的使用。 ### 5. 款项用途与公示 赞助收入将用于服务器、域名、带宽等必要运营成本,部分用于**公益捐赠**等回馈社会的用途。具体收支与公益记录以官方论坛公示为准。 ### 6. 理性消费 我们倡导**理性消费**,请量力而行,切勿冲动消费。未满 18 周岁的用户参与任何赞助或付费前,应事先取得监护人同意。 ### 7. BREAK 社区福利与官方奖励 1. **发放安排** 我们有权决定官方额度奖励、社区福利及补偿的发放对象、领取条件、发放形式、数量与时间。相关奖励并非面向所有用户的普遍承诺,具体以对应活动规则或官方安排为准。 2. **违规处理** 对于违反本用户协议、社交用户协议或社交群交流协议的用户,我们保留拒绝赠与 BREAK、取消奖励领取资格,以及依据相关协议暂停或永久封禁账号的权利。 3. **领取资格与通知** 部分用户可能因不符合领取条件而无法获得指定奖励。除法律法规另有规定或活动规则另有约定外,奖励发放前不再另行逐一通知,未获奖励的用户亦可能不收到单独通知。 4. **赠与权益不予退款** 所有无偿赠与的金额、余额、BREAK、额度及功能权益均不支持退款、提现或折现。本条仅适用于无偿赠与部分,不影响用户依法享有的付费权益及其他法定权利。 ## 八、用户行为规范 用户不得: * 使用本服务从事违法行为 * 传播违法或不良信息 * 滥用接口或攻击服务 * 干扰机器人正常运行 * 辱骂、谩骂机器人、管理层、项目制作人或负责人;此类行为将导致**永久封号** ## 九、封号与限制规则 在以下情况下,我们有权对用户进行限制或封禁: ### 1. 滥用行为 * 高频刷指令 * 恶意占用资源 ### 2. 非法行为 * 使用机器人进行违法用途 * 绕过系统限制 ### 3. 风险行为 * 异常请求(如接口滥用) * 可疑自动化行为 ### 4. 辱骂与谩骂行为 辱骂、谩骂机器人、管理层、项目制作人或负责人的,将被**永久封号**。 ### 处理措施包括: * 功能限制 * 临时封禁 * 永久封禁 严重情况不另行通知。 ## 十、免责声明 本服务按“现状”提供,**我们不提供任何 SLA(服务等级协议)承诺**,包括但不限于可用率、响应时间与故障恢复时间。我们不保证: * 服务稳定性 * 数据准确性 * 第三方接口可用性 服务功能可能随时更新、调整或停止,**恕不另行通知**。 因以下原因导致的问题,我们不承担责任: * 网络故障 * 不可抗力 * 第三方服务异常 本BOT提供的部分服务(如发票、上传B50等)可能会对您的舞萌账户造成不良影响,您需悉知。 AWMC TEAM不对用户使用上述服务可能造成的不良后果负责。 **怕别用,用别怕。~~大狗大狗叫叫叫。~~** ## 十一、服务变更与中断 我们可能进行系统维护、技术升级或应对突发故障,并将**尽力**通过官方群和状态页面提前通知。紧急修复、功能调整或服务停止等情形**恕不另行通知**。 ## 十二、未成年人条款 未成年人应在监护人同意下使用本服务;未满 18 周岁的用户参与任何赞助或付费前,应事先取得监护人同意。 我们倡导理性消费,任何消费与赞助都应量力而行。 **所有用户相关消费不支持退款。** ## 十三、协议更新 **本协议可能随时更新,更新恕不另行通知**,也不设逐条告知义务。 更新后的内容以本页当前文本为准,**继续使用本服务即表示同意更新后的协议**;不接受的请停止使用。 ## 十四、联系我们 如有问题,请联系: * 联系人:MILK * QQ:3801477277 * 邮箱:<3801477277@qq.com> * 论坛:[联系我们页](https://bbs.wmc.pub/misc/contact) * 状态页:https://up.wmc.pub/ 本协议最终解释权归AWMC TEAM所有。 请确保您在使用我们的服务前仔细阅读上方的协议。协议更新虽不另行通知,但遇重大变更时您**可能**会被要求重新浏览并确认。 如果您同意上述条款,请在机器人确认时输入以下内容。 ``` 我已认真阅读网页中的服务说明,并已了解AWMC服务可能带来的风险。我了解因使用本服务,造成舞萌DX官方账号遭到封禁,责任和AWMC无关。我确认发送二维码可能会对我的账号产生安全影响,并愿意接受这样的风险。在阅读说明后,我同意上述协议。 ``` --- --- url: https://wiki.awmc.team/guide/bot/intro.md --- # AWMC QueryBot 使用说明 ::: tip ☕ 支持 AWMC AWMC 的全部服务永久免费,但维持运转需要真实成本。如果 AWMC 帮到了你,欢迎 [赞助支持我们](https://afdian.com/a/AWMC_TEAM?tab=shop),每一份心意都会让服务更稳定喵~ ::: ::: danger ⚠️ QQ 机器人限制 由于 QQ 机器人平台限制,如果想要使用**排卡**、**猜歌游戏**等群功能,需要群主在群管理中将 Bot 设置为「允许获取全部消息」,才能获得最佳体验。 设置方法:[把 Bot 拉进自己的群](#add-to-group)。 ::: 账号绑定、成绩上传、PC 同步、查分与 BREAK 互动现已合并在同一个 QueryBot 中, 无需再区分“账号 Bot”和“查询 Bot”。本文中的指令默认不写命令前缀;如果当前平台 配置了 `/` 等前缀,请在指令前补上对应前缀。 ::: tip 交流与反馈 加入 QQ 群参与交流:[1 群 1072033605](https://qm.qq.com/q/Gj3QmfEyY0)(主群,不解锁游戏)、[2 群 993795066](https://qm.qq.com/q/PF5t1VXPi0)(游戏群);进群前请先看[交流群群规](/guide/group-rules)。 遇到异常时请保留 Bot 返回的 `Ref_ID`,并到[论坛 AWMC Bot 版块](https://bbs.wmc.pub/forums/awmc-bot.17/)发帖反馈; 请勿在群里反复 @ 群主或管理团队催问(无端骚扰按[群规](/guide/group-rules)可禁言 1 日)。 ::: ::: danger 凭据安全 `SGWCMAID`、舞萌官方二维码链接和查分器 Token 都属于敏感凭据。Bot 收到后会优先 尝试撤回原消息;如果提示撤回失败,请立即手动撤回,不要把凭据转发给他人。 ::: ::: info 版本与可用性 本页按当前源码整理,未核验生产部署;命令开放状态、价格与限制以实际部署配置及 Bot 提示为准,文中价格为源码默认值。 ::: ## 〇、快速上手路线 第一次使用按这个顺序来,五分钟就能查分: 1. **添加机器人** — 点击本页顶部的「添加 AWMC Bot」,或由群主把 Bot 拉进自己的群; 群功能使用前建议在群管理中允许 Bot 查看全部消息(见 [十一、把 Bot 拉进自己的群](#add-to-group))。 2. **同意用户协议** — 发送 `用户协议`,阅读网页后把完整确认词发回。 3. **绑定舞萌账号** — 发送 `mai绑定`,提交 `SGWCMAID...` 或官方二维码链接,无需绑定 水鱼 / 落雪即可查分(AWMC NET 默认成绩库)。 4. **查分** — 发送 `b50`、`ab50` 或 `我的pc数` 开始体验;完整指令见 [指令帮助](/guide/bot/advanced)。 5. **群管理与排卡** — 群主 / 管理员发送 `群管理` 打开 [群管理后台](/guide/bot/group-console), 一键开关群功能、看群数据、管机厅排卡与天气。 ## 一、首次使用 ### 1. 阅读并确认用户协议 1. 向 Bot 发送 `用户协议`。 2. 打开 Bot 返回的 [AWMC maiBot 服务协议(v4)](https://wiki.awmc.team/guide/bot/terms)。 3. 认真阅读完整网页,并复制页面中的**完整确认词**。 4. 将确认词直接发送给 Bot;也可以发送 `同意用户协议 <完整确认词>`。 确认成功后,才可使用账号绑定、上传、发票、BREAK 转账和抽奖等功能。发送 `撤回用户协议` 可以撤回同意,但不会自动删除已有账号绑定。 成绩、Rating、趋势等数据默认会脱敏后作为公开数据(含训练用途)。若不希望共享,请向 Bot 发送 `不同意共享我的数据`。 ### 2. 绑定舞萌账号 发送: ```text mai绑定 ``` Bot 会要求提交最新的玩家二维码数据。获取方式: 1. 打开微信中的「舞萌DX | 中二节奏」玩家二维码; 2. 长按二维码,选择「识别图中二维码」; 3. 复制识别出的字符或网页地址,发送给 Bot。 支持以下三种内容: * 完整的 `SGWCMAID...` 字符串; * `https://wq.wahlap.net/qrcode/img/MAID....png` 图片链接; * `https://wq.wahlap.net/qrcode/req/MAID....html` 请求链接。 也可以一次发送 `mai绑定 SGWCMAID...`。常用别名:`maibind`。 Bot 会验证二维码中的账号身份,绑定成功后只显示玩家名和 Rating,不会发送街机 UID。 如果同一个舞萌账号存在于旧 Bot 迁移记录中,新凭据验证成功后会自动认领旧记录; BREAK、协议状态和落雪 OAuth 不随认领转移。 绑定验证通过后,Bot 会自动把脱敏后的成绩同步到 **AWMC NET.**(默认成绩库), 并提示可用 QQ 邮箱前往 [net.wmc.pub](https://net.wmc.pub) 注册网页查询。 这意味着**无需再绑定水鱼或落雪**也能直接查 B50,详见 [下一节](#三、awmc-net-免绑定查分)。 ## 二、查询账号状态 发送 `mymai` 或 `mai状态` 可查看: * 玩家名、Rating 及新旧版本 Rating 拆分; * 友人对战等级、游玩次数、机台与数据版本; * 最近登录、游玩、拼机、地区与觉醒次数; * 账号封禁状态、BREAK 余额; * 水鱼/落雪绑定、最近上传和有效票券摘要。 状态消息不会显示完整二维码、Token 或街机 UID。 最近一次验证成功的二维码默认缓存 10 分钟。缓存有效时,Bot 会先重新验证账号身份, 再获取最新状态;缓存过期、返回空值/500、上次使用失败或身份不一致时,Bot 会重新 询问二维码。最多输入 3 次,发送 `取消` 可直接查看已保存的缓存资料。 ## 三、AWMC NET 免绑定查分 AWMC NET. 是 QueryBot 内置的默认成绩镜像库(地址 [net.wmc.pub](https://net.wmc.pub)), 所有新用户的默认成绩数据源都是 AWMCNET。它让你**不用绑定任何第三方查分器** (水鱼 / 落雪)就能查分: 1. 完成 `mai绑定`,或直接发送一次最新的 `SGWCMAID` / 官方二维码链接; 2. Bot 验真通过后自动建档,并把脱敏成绩上传到 AWMC NET.; 3. 首次同步成功会收到提示:「AWMC NET. 已同步您的信息,您无需其他操作」; 4. 之后直接发送 `b50`、`ab50` 等指令即可出图,不需要水鱼 Token 或落雪 OAuth。 在网页端可用与 QQ 邮箱同名的账号注册 [net.wmc.pub](https://net.wmc.pub) 查看成绩。 AWMC NET. 只接收脱敏后的 QQ、展示名与成绩,**不发送二维码、街机 UID 或第三方 Token**。 常用指令: | 指令 | 说明 | |---|---| | `数据源` | 查看当前数据源(新用户默认为 AWMCNET) | | `数据源 AWMCNET` / `数据源 水鱼` / `数据源 落雪` | 切换个人数据源 | | `成绩趋势 [天数]` | 查看 AWMC NET. 服务端记录的近 30 天 Rating 趋势,默认 30 天,范围 1~365 | 别名:`rating趋势`、`mai趋势`、`awmc趋势`。AWMC NET. 没有成绩时,Bot 会自动探测 已绑定的水鱼/落雪并迁移一次成绩快照;部分高级分析(拟合、含金量等)落雪不支持时 会自动回退水鱼。 水鱼 Token 和落雪 OAuth 现在都是**可选项**:绑定后会在同步 AWMCNET 之外额外同步 对应平台,方便在外部查分器查看。 ## 四、上传成绩到查分器(可选) ### 1. 绑定水鱼 前往 [水鱼查分器](https://maimai.diving-fish.com/) 获取导入 Token,然后发送: ```text mai绑定水鱼 ``` 别名:`maibindfish `。 ### 2. 绑定落雪 推荐直接发送: ```text lxbind ``` 按提示完成落雪 OAuth 授权,之后无需向 Bot 提交落雪导入 Token。 如需使用兼容方式,也可以发送: ```text mai绑定落雪 <导入Token> ``` 别名:`maibindlx <导入Token>`。上传时会优先使用 OAuth,只有未授权或需要兼容回退时 才使用导入 Token。 ### 3. 执行上传 | 指令 | 作用 | 默认价格 | |---|---|---:| | `maiu` | 上传水鱼 | 2 BREAK | | `maiul` | 上传落雪 | 2 BREAK | | `maiua` | 同时上传水鱼和落雪 | 3 BREAK | 三种上传都会**同时写入 AWMC NET.**(始终同步);`maiu` 仅水鱼、`maiul` 仅落雪、 `maiua` 两边。外部平台只有在已绑定时才参与,不绑定也不影响 AWMCNET 查分。 三种方式共享“每日首次上传成功免费”额度。只有外部服务真正返回成功后才结算;二维码 无效、HTTP 500、返回全空、任务失败或超时均不扣 BREAK。 上传会优先使用 10 分钟内已验证的二维码缓存。缓存不可用时,Bot 会要求发送最新的 `SGWCMAID` 或官方链接,最多重试 3 次;发送 `取消` 可结束本轮上传。 ::: info 第三方查分说明 QueryBot 无法自动知道玩家何时在机台游玩、打了什么歌。机台游玩后,需要重新执行 `maiu`、`maiul` 或 `maiua`,查分器中的 B50 才会更新。 ::: ## 五、直接发送二维码 直接发送以 `SGWCMAID` 或上述 Wahlap 官方链接开头的消息时,Bot 会按以下顺序处理: 1. 优先撤回原凭据消息; 2. 验证用户协议和群功能开关; 3. 获取并保存最新 PC 数据; 4. 根据绑定情况自动上传:只绑定水鱼就传水鱼,只绑定落雪就传落雪,两边都绑定就 同时上传; 5. 合并返回 PC 数量、上传结果、BREAK 结算和 `Ref_ID`。 如果没有绑定任何查分器,本次只同步 PC。二维码无效、过期或服务暂时不可用时, 3 分钟内最多可重新发送 3 次。 ## 六、PC 数据与查分 | 指令 | 说明 | |---|---| | `更新pc数` | 使用有效缓存或最新二维码同步 PC 数据 | | `我的pc数` | 查看总 PC 与游玩最多的 15 个谱面 | | `pc数 <歌曲>` | 查看指定歌曲的 PC 数据 | | `pc50` | B50 按游玩次数排序 | | `pca50` | Rating B50 内按 PC 重新排序 | | `游玩排行50` | 全库游玩最多的 50 个谱面 | | `pc排行` | 全部已同步用户的 PC 总量排行 | PC 数据来自舞萌账号同步;`b50`、`ab50` 等成绩图仍以水鱼或落雪查分器为准。 如果刚完成上传但查询仍显示旧成绩,可以稍等片刻后发送 `刷新b50`。Bot 会在上传前后 主动清理本地成绩缓存,但查分器本身也可能需要时间处理。 ## 七、BREAK ### 1. 获取与查看 | 指令 | 说明 | |---|---| | `AWMC签到` / `签到` | 签到获取 BREAK;距上次成功签到满 24 小时即可再签 | | `我的AWMC` | 查看余额、连续签到、今日使用量、最近流水,以及发票 `returnCode` 统计 | | `AWMC帮助` | 查看 BREAK 规则 | 签到基础奖励默认为 1~2 BREAK,连续签到额外奖励最高 3 BREAK(第 5 天起封顶)。指定群、周四和群内 当日首签可能获得额外倍率,实际结果以 Bot 返回为准。 ### 2. 默认消费规则 | 业务 | 默认规则 | |---|---| | 查分器 API | 每日首次实际请求免费,之后 1 BREAK;缓存命中不扣 | | B50 分析 | Token 用量计费:基础价最低 3、最高 30;调用前预扣 14,成功后多退少补、失败全退(LLM 峰时均 ×2) | | 猜歌 | 普通猜歌每次猜对默认 1 BREAK;猜 Rating / 找内鬼按排名和难度结算 | | 上传成绩 | 每日首次成功免费,之后水鱼 2、落雪 2、同时上传 3 | | 发票 | 成功按倍率扣费(2 倍 20、3 倍 30、5 倍 50 BREAK);实际提交后失败默认罚 100 BREAK,详见[计费条件](/guide/bot/commands#六、break-与票券) | | 抽奖 | 默认每次消耗 2 BREAK,可一次抽 1~1000 次 | ### 3. 群互动 ```text 转账BREAK @用户 10 BREAK抽奖 BREAK抽奖 5 ``` `BREAK抽奖` 默认抽 1 次,数字表示连抽次数。BREAK 仅为 Bot 内部互动积分,不具有 现金价值。 ## 八、论坛账号绑定(qbind) qbind 用于绑定你的**查分 QQ**,绑定后可直接使用签到、查分、B50 等账号功能;首次绑定默认发放 **3 BREAK** 奖励(以 Bot 配置为准)。现在可以用 **QQ 邮箱验证码绑定,无需先注册论坛**;已有论坛账号也可继续走 OAuth。 ### 1. 发起绑定 推荐发送(将示例数字换成自己的 QQ 号): ```text qbind 123456 ``` 1. Bot 向 `123456@qq.com` 发送一封含 **6 位验证码**的邮件; 2. 在 **10 分钟内**,直接把验证码回复给同一个 Bot 即可,无需再带 `qbind`; 3. 验证码输错 **5 次**会作废,需要重新申请。验证码属于绑定凭据,请勿公开或转发。 只发送 `qbind` 会收到用法提示;`绑定qq` / `mai绑定qq` / `maiqbind` 也可进入邮箱绑定。 ::: warning 收不到邮件或发送受限 先检查 QQ 邮箱垃圾箱,并确认输入的是自己的 QQ 号。同一平台用户、同一 QQ 邮箱均须间隔 **60 秒**才能重发;滚动 24 小时内,同一平台用户最多发 **10 封**、同一 QQ 邮箱最多收 **5 封**;全服每小时最多 **300 封**。受限时请等待,或发送 `论坛绑定` 使用下方备用流程。 ::: **备用:论坛 OAuth 授权。** 发送 `论坛绑定` / `论坛登录` / `AWMC论坛绑定`,Bot 会返回授权引导: 1. 在浏览器打开链接并登录论坛; 2. 论坛邮箱必须使用 `你的QQ号@qq.com`(例如 QQ 是 123456,邮箱就填 `123456@qq.com`); 3. 授权后,把授权码或完整回调链接发回给 Bot 即可完成绑定,无需再带命令前缀。 > OAuth 授权码同样为 10 分钟有效、仅一次可用。邮箱绑定不可用时,`qbind` 会转为论坛 OAuth 流程,请按 Bot 实际提示操作。 ### 2. 绑定成功 邮箱验证后 Bot 会回执「QQ 邮箱验证成功,绑定完成」,显示查分 QQ 与可用功能;论坛 OAuth 则回执论坛绑定成功。 邮箱绑定还会尝试关联同邮箱的论坛账号;没有账号则自动创建。新建账号可在论坛登录页点「邮件链接登录」,输入 QQ 号免密登录。**论坛关联失败不影响已经完成的查分 QQ 绑定**,是否创建或关联成功以 Bot 回执为准。 ### 3. 查看绑定状态 发送: ```text qbind状态 ``` 别名:`查绑定qq` / `我的qbind` / `论坛绑定状态` / `论坛账号状态` / `论坛状态`。 ### 4. 解绑 / 取消 | 指令 | 说明 | |---|---| | `qunbind` | 查看论坛 / 查分 QQ 解绑报价,不立即扣费(别名:`解绑qq` / `QQ解绑` / `解绑qbind` / `解绑论坛` / `论坛解绑`) | | `qunbind 确认` | 确认扣费并解绑查分 QQ 与论坛身份 | | `取消论坛绑定` | 取消进行中的绑定流程(别名:`论坛绑定取消` / `取消qbind`) | ::: warning 换绑前须付费解绑 已绑定时不能直接用 `qbind` 换绑,须先发送 `qunbind` 查看报价,再发送 `qunbind 确认`。手续费按**旧查分 QQ**的解绑流水累计:首次默认 **100 BREAK**,之后每次 **200 BREAK**,从旧查分 QQ 余额扣除,不享 FREEDOM 或免费窗口;余额不足不解绑。解绑后签到、查分等账号功能需要重新 `qbind`。`取消论坛绑定` 仅取消进行中的流程,不能代替解绑。 ::: ### 5. 查看或修改论坛用户名 发送 `nickname` 查看当前用户名及下次可改时间;发送 `nickname 新名字` 修改(别名:`论坛改名` / `修改论坛用户名` / `改论坛用户名` / `论坛用户名`)。需先成功关联论坛身份,仅有查分 QQ 映射还不够;此入口没有单独 BREAK 扣费逻辑。 自动生成的用户名可立即首次修改,之后通常每 30 天一次,实际限制与可改时间以论坛返回为准。新名字须为 3~25 字符,不能是纯数字、自动用户名、平台 OpenID,也不能含表情或被禁止的特殊字符;重名等情况可能被论坛拒绝。管理账号或不支持 Bot 改名时,请到论坛「账户设置」修改。 ::: info 说明 当前为 OneBot 模式时,消息 QQ 即查分 QQ,无需 qbind / 论坛 OAuth 即可使用账号功能。 ::: ## 九、发票 发送 `发票 2` 或 `fp 2` 请求 2 倍票,当前支持 2、3、5 倍: | 倍率 | 价格(每次成功) | |---:|---:| | 2 倍 | 20 BREAK | | 3 倍 | 30 BREAK | | 5 倍 | 50 BREAK | 发票成功按倍率扣费,没有每日首免;实际提交后失败默认罚 100 BREAK,提交前验码 / 余额检查失败和本地配额拒绝免该罚金。未使用倍率票拦截等条件详见[指令调用说明](/guide/bot/commands#六、break-与票券),实际金额以 Bot 热配置为准。 使用 `mai查票` 或 `查票` 可按票种、库存和有效期查看票券状态,默认成功查询 1 BREAK;回复不会显示舞萌账号 UID 或原始接口数据。 ::: danger 风险提示 ⚠️ 发票不可逆:票券一经发放必须上机使用,不可以屯票。 发票、上传及二维码相关功能可能影响舞萌官方账号安全。使用前请完整阅读 [AWMC BOT 服务协议与隐私政策](/guide/bot/terms),并自行承担相应风险。 ::: ## 十、常见问题 ### Bot 提示“尚未建立账号记录” 依次完成: 1. 发送 `mai绑定`,再提交最新的 `SGWCMAID` 字符串或官方链接; 2. 按需发送 `mai绑定水鱼 `,或使用 `lxbind` 绑定落雪 OAuth; 3. 使用 `maiu`、`maiul`、`maiua` 上传水鱼、落雪或两边。 ### 二维码返回 500、全是 null 或提示过期 返回舞萌玩家二维码页面重新生成并长按识别。不要重复发送旧二维码;同一轮流程最多 允许 3 次,仍失败时请稍后重新开始。 ### Bot 无法撤回凭据消息 请立即手动撤回。Bot 仍会继续返回脱敏后的处理结果,但无法替代用户删除原消息。 ### 查分提示用户不存在或没有数据 新用户默认走 AWMC NET.,发送一次最新 `SGWCMAID` 完成同步后即可查分,无需绑定 水鱼/落雪。若你手动切换到了水鱼,请确认水鱼个人资料填写了正确的 QQ 号、关闭 “禁止其他人查询我的成绩”,并至少执行一次 `maiu`;使用落雪时请检查 OAuth 是否仍有效。 ### B50 成绩是整数或与网页不一致 检查水鱼隐私设置,关闭“对非网页查询的成绩使用掩码”,然后发送 `刷新b50` 重试。 ### 上传提示登录失败 通常是二维码已过期、账号仍登录在机台,或外部服务暂时不可用。请重新获取二维码, 按照 Bot 提示最多重试 3 次;失败流程不会扣 BREAK。 ### 想用纯文本 / Bot 回复显示异常 部分客户端(如某些 QQ 版本或特殊环境)无法正常渲染 Markdown 与快捷按钮。发送「切换兼容模式」即可开启兼容模式,Bot 会回复: > 已开启兼容模式:除 @、图片、音频等必要消息段外,后续回复使用普通文本,链接显示为原始网址。 发送「切换兼容模式」或「标准模式」可恢复 Markdown 和快捷按钮。 ## 十一、把 Bot 拉进自己的群(群主/管理员) Bot 支持拉入其他 QQ 群使用。如果你是群主或管理员,希望 Bot 无需 @ 即可回复消息、正常游玩猜歌等功能,请按以下步骤设置。 1. 打开 Bot 的个人主页,点击右上角的设置按钮。 2. 把 Bot 修改为「允许查看所有消息」。 3. 允许 Bot 主动推送消息,保证猜歌等功能可用。 4. 如需 Bot 自动撤回消息,请在群管理中把 Bot 添加为管理员。 ::: warning 开启「允许查看所有消息」的影响 群里的其他 Bot 也会一并读取群消息,可能出现重复回复的情况。 ::: 群主 / 管理员常用的开关与管理指令(小游戏开关、入群验证、自动审批、踢人、排卡、投票等)汇总在 [群管理后台 · 群主 / 管理员指令速查](/guide/bot/group-console#admin-quick-ref)。 如遇问题请联系负责管理员。 午高峰和晚高峰服务可能会有所卡顿,请耐心等待。 ## 十二、更多指令 * [完整指令帮助](/guide/bot/advanced) * [服务协议与隐私政策](/guide/bot/terms) * [术语解释](/guide/bot/explain) --- --- url: https://wiki.awmc.team/guide/bot/commands.md --- # AWMC QueryBot 指令调用说明 本页说明账号、上传、BREAK 与管理指令的调用方式。查歌、B50、猜歌、数据报告等完整 查询指令请见 [指令帮助](/guide/bot/advanced)。 ::: warning 版本说明 账号功能已经合并到 QueryBot。旧 Koishi maiBot 的优先卡密、解绑卡、账号锁定、保护模式、 账号读写功能已迁移到 AWMC Gateway API;批量 `upsert-all` 不对用户开放。 账号**写操作**(成绩、道具、资料修改)已升级到 **AWMC API v2-3 会话制**:Bot 提交后由服务端 后台执行,并自动完成服务端会话确认与轮询;用户仍须先确认操作摘要与风险。相关指令与价格见 [第八节 账号编辑与批量操作](#八、账号编辑与批量操作-v2-3)。 ::: ## 一、通用规则 * 指令前缀由平台配置决定;本文默认不写 `/`。 * 账号和上传流程会引用触发消息;敏感凭据直发因原消息会先撤回,群聊结果改用 `@用户` 标识。 * 交互流程通常支持 `取消`、`cancel`、`q` 或 `退出`。 * 二维码、官方二维码链接和 Token 都是敏感凭据,Bot 会优先尝试撤回。 * 外部调用会生成 `Ref_ID`;发生异常时请把它提供给管理员,不要发送 Token 或 UID。 ## AI 生图 | 指令 | 说明 | |---|---| | `画图 <描述>` | 文字生图,默认消耗 358 BREAK;失败会退回预扣 BREAK | | `画图 <描述> -p` / `--reference` | 图生图:发送命令后,再按提示发送参考图 | | `画图 <描述> -q auto` | 指定质量参数,当前仅支持 `auto` | 官方 QQ 群聊可以直接 `@机器人 画图 <描述>`;也可以在同一条消息中附图。 提示词最长 4000 字符,参考图默认不超过 8 MB,支持 PNG、JPEG、WebP。生图前会进行内容审核,违法违规、敏感政治、未成年人色情等请求不会扣 BREAK;参考图仍会执行安全检查。 ## 二、协议与账号 | 指令 | 说明 | |---|---| | `用户协议` | 查看当前协议链接和确认方法 | | `同意用户协议 <完整确认词>` | 确认协议;也可直接发送完整确认词 | | `撤回用户协议` | 撤回当前版本的同意 | | `不同意共享我的数据` | 关闭成绩/Rating/趋势等脱敏公开与训练使用(默认开启,详见[协议](/guide/bot/terms#_2-公开数据与训练使用-默认开启)) | | `mai账号` | 查看账号功能帮助 | | `mai绑定` / `maibind` | 交互式绑定或认领舞萌账号 | | `mai绑定 <二维码或链接>` | 一次提交并绑定 | | `mai解绑` | 解绑舞萌账号,上传 Token 保留 | | `mai状态` / `mymai` | 查看完整账号状态;缓存失效时重新询问二维码 | | `舞萌状态` / `mais` | 服务器失败率折线图 + 实时状态(见 [指令帮助](/guide/bot/advanced#_1-1-帮助与信息)) | | `maiping` | 检查 AWMC API 连接 | | `mai地图` | 查看游玩地区(服务支持时) | | `mai预览` / `预览` | 查询账号预览;成功后扣 5 BREAK | | `mai道具` / `道具` | 查询全部道具;成功后扣 5 BREAK | | `mai门状态` / `查门` / `门状态` | 查询 Kaleidx Gate 的发现、钥匙与通关状态;成功扣 5 BREAK(见下方 v2-3 说明) | | `mai查询opt <版本号>` | 查询 Mai2 选项文件 | 门状态会同时显示 Gate 名称:1 蓝色之门、2 白色之门、3 紫色之门、4 黑色之门、 5 黄色之门、6 红色之门、7 棱镜塔、8 表门、9 希望之门、10 里门。 ::: warning 上游 v2-3 已移除门状态与活动查询 服务端升级到 v2-3 后不再提供门状态(`get-kaleidx-scope`)与活动事件(`get-game-event`)读取接口, 此时 `mai门状态` / `maievent` 会提示该查询已移除;账号道具可改用 `mai道具` 查询。 **门状态的修改**走 `mai改门`(见 [第八节](#八、账号编辑与批量操作-v2-3)),写入接口支持门 1~6。 ::: 二维码输入支持: ```text SGWCMAID... https://wq.wahlap.net/qrcode/img/MAID....png https://wq.wahlap.net/qrcode/req/MAID....html ``` 所有使用账号二维码凭据的 API 指令都会检查缓存有效期(**二维码生成时间 + 10 分钟**)。 缓存失效时不会继续使用旧凭据,请直接发送最新 SGWCMAID、官方二维码链接或二维码图片, 验证刷新后重新执行原指令。 凭据无效、过期、返回 500/全空或身份不一致时,Bot 最多重新询问 3 次。 管理员可用 `BREAK配置` 调整与二维码相关的热配置,常用的有: | 键 | 说明 | |---|---| | `one_time_qrcode` | `1` = **一次性二维码**:一个二维码只服务一次用到二维码的操作,之后的操作用户需重新发码(默认 `0`,即 10 分钟内复用) | | `qrcode_freeze_enabled` / `qrcode_freeze_seconds` | 连续 3 次验码失败后按用户冻结的开关与秒数 | | `checkin_cooldown_mode` | 签到冷却口径:默认 `24h`(距上次成功签到满 24 小时);填 `daily` 回退到「每日 00:00 重置」 | ## 三、查分器绑定与上传 | 指令 | 说明 | |---|---| | `dfbind` / `绑定水鱼` / `水鱼授权` | 绑定水鱼 OAuth(推荐,同时用于查分和上传) | | `dfstatus` / `水鱼授权状态` | 查看水鱼 OAuth 授权状态 | | `dfunbind` / `解绑水鱼` | 取消水鱼 OAuth 授权 | | `mai绑定水鱼 ` / `maibindfish ` | 绑定水鱼兼容 Token(与 OAuth 分开管理) | | `mai解绑水鱼` | 解绑水鱼 Token | | `lxbind` | 绑定落雪 OAuth(推荐) | | `lxunbind` | 解绑落雪 OAuth | | `mai绑定落雪 <导入Token>` / `maibindlx <导入Token>` | 绑定落雪兼容 Token | | `mai解绑落雪` | 解绑落雪兼容 Token | | `maiu [二维码或链接]` | 上传水鱼 | | `maiul [二维码或链接]` | 上传落雪 | | `maiua [二维码或链接]` | 同时上传水鱼和落雪 | 三种上传共享每日首次成功免费额度。默认后续价格为水鱼 2、落雪 2、同时上传 3 BREAK; 失败、超时或取消均不扣费。 ### 无二维码快速更新与自动更新 {#quick-update} ::: warning 版本与前提 以下按当前 QueryBot 源码说明,需部署包含该功能的 Bot 及支持 rival 读取的上游服务;不代表所有实例已经上线。价格、时长和容量均可由管理员调整,以 Bot 实际提示为准。 先用 `mai绑定` 绑定舞萌账号;如需同步水鱼或落雪,请先完成 `dfbind` / `lxbind` OAuth 绑定。仅绑定上传 Token 不会用于此快速更新路径。 ::: | 指令 | 说明 | |---|---| | `mai对手同步` / `rival同步` | 无需重新扫码,读取已绑定账号的成绩并同步 AWMCNET;有 OAuth 时也同步对应查分器 | | `导` / `u` / `更` / `更新` | 同上,需整条消息只含该快捷词;群游戏进行时快捷词会被忽略,可改用完整命令 | | `mai自动更新 [小时]` / `自动更新 [小时]` | 开启限时后台更新;默认 3 小时,支持如 `6`、`6小时`、`6h` | | `查自动更新` / `mai查自动更新` | 查看剩余时长、下次同步时间、次数与最近结果 | | `自动更新关闭` / `mai自动更新关闭` | 提前关闭自动更新,剩余时长不退款 | | `查任务` / `查进度` | 查看后台上传任务与结果;已加入队列不等于外部查分器已完成上传 | * 合并已有快照:保留旧记录,仅在达成率更高时覆盖。成功同步后才进入默认 **300 秒**用户冷却;拉取失败、配额拒绝或成绩为空不进入冷却,可立即重试。 * **不刷新 FC/FS 标记和 PC 数**。需要完整更新时仍应发送最新二维码;不要将此路径当作全量扫码上传。 * 自动更新走相同的快速更新路径,默认每 **15 分钟**一轮;频率还受快速更新冷却影响。 * 默认可开 **1~12 小时**、全服同时最多 **10 人**,每人只能有一个时段。 * 默认 **30 BREAK / 小时**(3 小时共 90 BREAK),发送 `确认` 后预付整个时段费用;回复其他内容取消。它不是每次同步成功才扣费,提前关闭不退款。 管理员可用 `BREAK配置 <键> <值>` 调整: | 键 | 默认值 / 用途 | |---|---| | `rival_sync_cooldown_seconds` | `300`,快速更新冷却秒数,`0` 关闭冷却 | | `auto_update_enabled` | `1`,自动更新总开关 | | `auto_update_fee_per_hour` | `30`,每小时 BREAK | | `auto_update_default_hours` / `auto_update_max_hours` | `3` / `12`,默认 / 最长时段 | | `auto_update_interval_minutes` | `15`,同步间隔分钟数(实际还受冷却约束) | | `auto_update_max_sessions` | `10`,同时开启人数上限 | ## 四、直接二维码与 PC 直接发送 `SGWCMAID...` 或受支持的官方链接,会自动完成 PC 同步,再按照绑定状态上传 水鱼、落雪或两边。未绑定查分器时只同步 PC。 | 指令 | 说明 | |---|---| | `更新pc数` | 使用缓存或最新二维码同步 PC | | `我的pc数` | 查看个人 PC 统计 | | `pc数 <歌曲>` | 查看指定谱面 PC | | `pc50` | B50 按 PC 排序 | | `pca50` | Rating B50 内按 PC 排序 | | `游玩排行50` | 全库游玩最多的 50 个谱面 | | `pc排行` | 所有已同步用户的 PC 总量排行 | ::: tip 开发者:AWMCNET 分块同步 QueryBot 或其他服务端将大量成绩同步到 AWMCNET 时,可以把全量快照拆成多个请求, 每块设置 `full_snapshot: true` 并复用同一个 `snapshot_id`。中间块不设置 `snapshot_final`,最后一块设置 `snapshot_final: true`;超时重试时继续使用同一个 `snapshot_id`。完整字段和示例见 [AWMCNET Bot API](/dev/awmcnet-api)。 ::: ## 五、段位认定 当前段位表默认使用国服现行版本 **PRiSM PLUS**。查询结果会生成图片,包含段位 LIFE 规则、4 首课题曲、乐曲难度/定数、个人最高达成率,以及服务器近期成绩聚合出的匿名样本统计。 | 指令 | 说明 | |---|---| | `段位表` | 查看可查询段位列表与示例 | | `段位表 <段位>` | 查询指定段位,如 `段位表 真二段` | | `<段位>段位表` | 同上,如 `真二段段位表` | | `段位表 <段位> @用户` | 查询被 @ 用户的个人成绩展示 | 图片中的段位资源会优先使用玩家当前名牌与官方段位 Plate;匿名样本来自服务器近期已同步且未关闭数据共享的成绩,低样本或冷启动时回退到内置样本。页脚会标明数据来源与「仅供练习参考,机台结果为准」。 ## 六、BREAK 与票券 | 指令 | 说明 | |---|---| | `AWMC签到` / `签到` | 签到;距上次成功签到满 24 小时即可再签 | | `我的AWMC` | 查看 BREAK、连续签到、调用统计、最近流水,以及发票成功/失败率与 `returnCode=0` 统计;群内自动附带本群猜歌数据图 | | `AWMC帮助` | 查看价格与奖励说明 | | `转账BREAK @用户 数量` | 转账 | | `BREAK抽奖 [1-1000]` | 抽奖;默认每次消耗 2 BREAK | | `发票` / `fp <2/3/5>` | 请求 2、3 或 5 倍票 | | `mai查票` / `查票` | 格式化查询有效票券(票种、库存、有效期),成功默认 1 BREAK,不会显示账号 UID | ::: danger 发票不可逆 ⚠️ 发票不可逆:票券一经发放必须上机使用,不可以屯票。 ::: 发票成功默认按倍率收费:2 倍 20 BREAK、3 倍 30 BREAK、5 倍 50 BREAK。 实际提交发票后失败,默认收取固定 **100 BREAK 失败罚金**(余额不足不扣成负数);写前验码、余额检查失败或本地配额拒绝不收该罚金。已有未使用倍率票触发拦截时另有默认 20 BREAK 的处罚;启用一次性二维码时不做该库存检查与写后到账复核。价格以 Bot 提示和管理员热配置为准。 结果不确定时先用 `查任务` 核实,不要自行重复发票。 ## 七、成绩与道具写入 | 指令 | 说明 | |---|---| | `mai改成绩` / `改成绩` / `改分` | 交互选择歌曲、难度和成绩;成功扣 258 BREAK / 谱面 | | `mai改成绩` / `改分 <歌曲> <难度> <达成率> [FC] [FS] [简单/专业]` | 一步编辑成绩 | | `mai删成绩` / `删成绩` / `删分` | 交互选择歌曲和难度;成功扣 50 BREAK / 谱面 | | `mai删成绩` / `删分 <歌曲> <难度>` | 一步删除成绩 | | `mai改道具` / `改道具` | 高风险交互式道具修改;成功扣 100 BREAK / 次 | | `mai改道具` / `改道具 ` | 预填参数后仍需确认风险 | ### 批量成绩(一次最多 20 条,按谱面计费) `mai改成绩` 支持用换行或分号(`;` / `;`)分隔,一次提交**最多 20 条**成绩: ```text mai改成绩 歌曲A 紫 100.5% 5 AP FDX 歌曲B 黄 99.8% 4 FC FS ``` `mai删成绩` 同样支持批量(每条写成 `<歌曲> <难度>`)。 * 同一首歌的同一个难度不能重复出现。 * 一次批量必须**统一模式**:DX 分要么全部填星级(简单模式),要么全部填实际 DX 分(专业模式)。 * **按谱面条数计费**:默认修改每条 258 BREAK、删除每条 50 BREAK;例如修改 2 条共 516 BREAK。 * 写入完成后会显示服务端验证结果与上传/跳过条数;账号已满足条件时会提示“无需上传”。 交互模式同样可以累计多条:录完一条后发送 `继续添加`(或 `继续编辑`)返回选歌, `查看列表` 查看待提交项,`删曲目 N` 移除第 N 项;`完成并提交`(也可 `完成` / `提交`) 查看最终清单与总价,再发送 `确认修改`(删除为 `确认删除`)才执行。`取消` 放弃整批。 批量删成绩不保证可用,且 Bot 无法自动恢复已删除成绩,请先核对清单与风险。 ### 成绩格式 成绩命令支持歌曲 ID、完整曲名和别名;交互选择难度时可发送数字:`0 BASIC`、`1 ADVANCED`、 `2 EXPERT`、`3 MASTER`、`4 Re:MASTER`;没有 Re:MASTER 谱面的歌曲只能选择 `0-3`。 难度也支持 `BASIC/ADV/EXP/MAS/Re:MAS`、 绿/黄/红/紫/白,以及宴会场的“宴”。达成率可写 `100.5%`,也可写 `0.995` (自动解析为 `99.5%`)。 * **简单模式(默认)**:DX 分填写星级 `0~5`。 * **专业模式**:DX 分填写实际 DX 分;填写大于 5 的数值会自动选择专业模式,并校验谱面满分。 * 可显式追加 `简单` 或 `专业`;支持 `FC/FCP/AP/APP` 和 `FS/FSP/FDX/FDXP`。 * API、解析、超时或取消失败时不扣 BREAK;写接口不会自动重试。 ::: tip 道具类型 `mai改道具` 的 `itemKind` 支持:1 姓名框、2 称号、3 头像、4 收藏品、5 乐曲解锁、 6 MASTER 谱面解锁、7 Re:MASTER 谱面解锁、10 搭档、11 边框。 角色请使用 `mai改角色`;票券不支持道具写入(须上机购买或使用发票)。 ::: ::: danger 道具修改风险 `mai改道具` **未经实际账号测试**,可能造成数据异常或不可逆后果,尤其是 `itemKind=4/8`。Bot 会展示操作摘要,并要求发送“我已知晓风险”后才执行; 继续操作即表示风险由用户自行承担。批量 `upsert-all` 不提供用户命令。 ::: ## 八、账号编辑与批量操作(v2-3) 账号写操作已升级到 **AWMC API v2-3 会话制**:Bot 提交请求后由服务端后台执行 (登录 → 分轮上传 → 服务端验证 → 登出),Bot 自动完成“创建 + 立即确认”并轮询结果, **服务端会话无需额外手动确认,但用户仍须确认操作摘要、总价与风险后才提交**。单次执行通常 1~2 分钟。 `mai改资料`(别名 `资料修改` / `改资料` / `资料命令`)是**集合入口**,会列出全部写操作指令、 当前价格,并提供一键进入各指令的按钮。 | 指令 | 说明 | 价格(成功才扣) | |---|---|---| | `mai批量编辑` / `批量编辑` / `批量改` | 一次对话收集多项修改(可跨类型),串行执行;未经测试,非常不推荐 | 整批 1500 BREAK,至少一项确认成功才扣一次 | | `mai全解锁 [music/master/remaster] [版本ID]` | 一键解锁乐曲 / MASTER / Re:MASTER;未经测试,非常不推荐 | 1500 BREAK / 次 | | `mai改门 <门 1~6 或名称> ` | 修改 Kaleidx Gate 状态 | 50 BREAK / 次 | | `mai改rating <0~99999>` | 修改显示 Rating(不改历史最高) | 50 BREAK / 次 | | `mai改里程 <0~99999>` | 修改舞萌里程 | 50 BREAK / 次 | | `mai改地图库存 <0~999>` | 修改地图库存 | 50 BREAK / 次 | | `mai改游玩次数 <累计> [当前版本]` | 修改游玩次数 | 50 BREAK / 次 | | `mai改段位 <段位或ID>` | 修改段位(0~23) | 50 BREAK / 次 | | `mai改阶级 <阶级或ID>` | 修改阶级(0~25) | 50 BREAK / 次 | | `mai改搭档 <角色或ID>` | 用该角色填满五个搭档栏位 | 50 BREAK / 次 | | `mai改角色 <角色或ID> <等级> [觉醒]` | 修改角色等级 / 觉醒 | 50 BREAK / 次 | | `mai改亲密度 <搭档或ID> <等级>` | 修改搭档亲密度 | 50 BREAK / 次 | | `mai完成地图 <地图或ID…>` | 临时停用:上游保存验证失败(5006) | 不执行 | | `mai推进地图 <地图或ID…>` | 临时停用:上游保存验证失败(5006) | 不执行 | | `mai改登录奖励 <奖励或ID…>` | 临时停用:上游保存验证失败(5006) | 不执行 | | `mai重置版本` | 重置到当前服务使用的游戏版本 | 50 BREAK / 次 | | `查进度 []` | 查询自己的任务看板或指定上传会话(别名 `查任务` / `mai查任务` / `查上传任务` / `查会话`) | 免费 | ### 批量编辑:一次改多项 ::: danger 批量功能未经测试,非常不推荐使用 `mai批量编辑` 与 `mai全解锁` 的上游处理最长可能约 **30 分钟**,很有可能卡死。结果未确认时先发送 `查进度` 核实,确认未生效前不要重复提交或重发二维码尝试重放。 ::: v2-3 的每个上传接口只接受自己那一类数据(成绩 / 道具 / 各项资料),**跨类型无法合并成一个请求**, 因此批量编辑采用「一次对话收集 → 串行执行多个上传会话」: ```text mai批量编辑 改rating 16000 改道具 5 11479 add 改成绩 歌曲A 紫 100.5% 5 AP FDX 完成 确认修改 ``` * 逐条发送要修改的内容,**最多 3 项**(每项一次上传会话,约 1~2 分钟)。 * 可分多条消息录入,也可一次发送多行;`继续添加` 继续收集,`查看列表` 查清单,`删曲目 N` 移除第 N 项。 * 发送 `完成并提交`(或 `完成` / `提交`)查看清单与总价,发送 `确认修改` 开始执行(`取消` 退出)。 * **整批一口价默认 1500 BREAK**,与项数无关;首个确认成功的项目触发一次扣费,即使其余项目失败,也不是按成功比例收费。取消或没有任何确认成功项时不扣费;已扣费的二维码过期续跑不会重复扣费,且只继续未完成项。 * 此价格仅指跨类型 `mai批量编辑`;直接使用 `mai改成绩` / `mai删成绩` 收集多条谱面,仍按每谱面 258 / 50 BREAK 计费。单独 `mai全解锁` 默认每次成功 1500 BREAK。实际价格以 Bot 热配置与确认页为准。 * 明确失败的项目会记录原因并继续;结算异常会停止。遇到超时或结果未确认,先用 `查任务` 核实,不要重复提交;已提交但未确认的操作不能靠重发二维码安全重试。 * 可写入的内容:`改门` / `改rating` / `改里程` / `改地图库存` / `改游玩次数` / `改段位` / `改阶级` / `改搭档` / `改角色` / `改亲密度` / `重置版本` / `改道具` / `改成绩` / `删成绩` / `全解锁`。 * `改地图` / `推进地图` / `改登录奖励` 当前临时停用,批量入口与二维码续跑也不能绕过。 ### 名称输入(不知道 ID 也能改) 带“或名称”的参数都可以直接输入名字,Bot 会自动查询上游资源并转换为 ID: ```text mai改门 紫色之门 found # 门名 → ID 3 mai改角色 星 <等级> # 角色名 → 角色 ID ``` * 名称匹配由上游完成(不区分大小写,支持关键词)。 * 匹配到多个同名资源时会列出候选,改用更精确的名称或直接填 ID 即可。 * 段位 / 阶级的名称由上游提供(段位名带版本前缀,如 `1.17_初段`),因此更推荐直接填写数值 (段位 `0~23`、阶级 `0~25`)。 ### 一键全解锁 ```text mai全解锁 # 全部乐曲 mai全解锁 master # 全部 MASTER 谱面解锁 mai全解锁 remaster 25 # 指定版本范围的 Re:MASTER ``` 候选清单由上游生成,账号**已拥有的会自动跳过**(全部跳过时不会上传)。成功后默认扣 **1500 BREAK / 次**,不随曲目数量加价,以 Bot 确认页和热配置为准。 **未经测试,非常不推荐使用**:上游最长可能处理约 30 分钟,很有可能卡死;超时或结果未确认时先 `查进度`,不要重复提交。 ### 计费与失败处理 * 上述价格均可在数据库配置中调整(管理员 `BREAK配置`)。 * 上游明确失败(参数不被接受、账号状态异常等)不扣 BREAK;会话执行中途失败会回报具体原因。 * 超时或网络中断时 Bot **不会自动重投**(避免重复写入),可用 `查进度` 查询实际结果。 * 写操作支持**二维码过期续跑**:提示二维码失效后发送最新二维码,Bot 会继续原操作。 * 多数修改会产生一局游玩记录并影响 Rating 显示,上机游玩一局后会自动重算。 不带参数的 `查任务` / `查进度` 还会显示二维码、后台同步与发票等任务;管理员可看全服近期任务,普通用户仅看自己的任务。指定 `session_id` 时也按权限查询;“需核对”不等于一定未写入。 ## 九、管理员指令 以下指令仅限 Bot 超级管理员或插件管理员: | 指令 | 说明 | |---|---| | `查询REF ` | 查看脱敏后的完整处理链路 | | `封禁用户 <用户> [原因]` | 封禁用户 | | `解封用户 <用户>` | 解除封禁 | | `封禁列表` | 查看生效中的封禁 | | `管理面板` / `WebUI` | 查看 WebUI 地址与配置状态 | | `查看AWMC <用户>` | 查看用户 BREAK 资料 | | `设置BREAK <用户> <数量>` | 直接设置余额 | | `增减BREAK <用户> <数量>` | 增减余额 | | `BREAK配置 [键 值]` | 查看或修改 BREAK 默认参数(含价格、`one_time_qrcode`、`pick_sensitive_words` 等;改完即生效,跨进程 ≤30 秒) | | `迁移Koishi 检查 <数据库>` | 只读预检 Koishi 账号迁移 | | `迁移Koishi 确认 <数据库>` | 确认迁移账号、Token 和协议记录 | | `发票统计` / `ticket统计` / `returnCode统计` | 全局发票成功/失败与 `returnCode=0` 统计;可加天数,如 `发票统计 7` | | `存储状态` | 查看 SQLite/YAML/MySQL 存储状态 | | `存储迁移 检查 <源> <目标>` | 预检数据迁移 | | `存储迁移 确认 <源> <目标>` | 确认迁移 | | `存储同步` | 立即同步当前配置的远端存储后端 | | `mai配额设置 <类别> <窗口=上限,…>` | 设置 AWMC API 全服团队配额,如 `mai配额设置 read 15m=200,1h=600,5h=2000`、`write 15m=50,1h=150`;`on` / `off` 开关全服限额 | | `自动更新列表` / `mai自动更新列表` | 查看全服自动更新时段;加 `删除 <序号>` 强制关闭对应时段(不退款) | | `mai配额重置` | 清零全部窗口的团队配额用量(含热重载) | | `更新定数表` | 曲库更新后重建 rating / plate 表图底图(曲库签名变化时 Bot 会提示执行) | ::: tip 统一存储(MySQL / YAML) 工作集未变更时可跳过打包;MySQL 未改文件可复用;启动时同步在后台执行,不阻塞 Bot 接消息。详见管理员 `存储状态` / `存储同步`。 ::: WebUI 和管理接口不会返回二维码、Token 或完整街机 UID;管理员修改也会记录 `Ref_ID`。 ## 十、交互示例 ### 绑定并上传两边 ```text 用户协议 mai绑定 mai绑定水鱼 lxbind maiua ``` ### 二维码失效 ```text Bot:二维码缓存已失效,请发送最新二维码(最多 3 次) 用户:SGWCMAID... Bot:验证成功并继续原操作 ``` ### 查询问题 ```text 用户:mymai Bot:引用该消息,返回账号状态与 Ref_ID ``` ### 批量成绩(最多 20 条,按谱面计费) ```text 用户:mai改成绩 歌曲A 紫 100.5% 5 AP FDX 歌曲B 黄 99.8% 4 FC FS Bot:⚠️ 即将批量写入 2 条成绩(默认总价 516 BREAK) 发送“确认修改”开始提交 用户:确认修改 Bot:✅ 已写入 2 条成绩 + 服务端验证结果 + 扣费明细 + Ref_ID ``` ### 批量编辑(跨类型一次改多项) ```text 用户:mai批量编辑 Bot:📝 批量编辑模式(一次最多 3 项;整批一口价,至少一项成功才扣) ⚠️ 未经测试,非常不推荐,上游最长约 30 分钟,很有可能卡死 用户:改rating 16000 Bot:✅ 已加入 1/3:显示 Rating → 16000 用户:改道具 5 11479 add Bot:✅ 已加入 2/3:道具添加:乐曲解锁 · itemId=11479 用户:完成 Bot:⚠️ 即将批量执行 2 项(整批一口价 1500 BREAK,串行 2 个上传会话) … 用户:确认修改 Bot:✅ 批量编辑完成 2/2 + 每项结果 + 扣费明细 + Ref_ID ``` ### 一键全解锁与名称输入 ```text 用户:mai全解锁 master Bot:⚠️ 一键全解锁(MASTER):候选 45 首(已拥有的会自动跳过) 发送“确认解锁”继续 用户:确认解锁 Bot:✅ 一键全解锁(MASTER)已提交 + 服务端验证结果 用户:mai改门 紫色之门 found Bot:⚠️ 即将执行 门状态修改:门 紫色之门(ID 3)→ 开门 ← 名称自动转 ID 用户:确认修改 ``` 门名称对应关系(写入接口仅支持 1~6):1 蓝色之门、2 白色之门、3 紫色之门、4 黑色之门、 5 黄色之门、6 红色之门。名称匹配由上游完成,若匹配到多个同名资源,Bot 会列出候选让你确认, 也可以直接填写门 ID。 ### 查看上传会话(查进度) ```text 用户:查任务 Bot:任务看板图:进行中 / 已完成 / 失败需核对 三区 + 步骤与「预计还需 X 秒」 用户:查进度 b26759bec50e42d89efe43186a98c40d Bot:上传会话 …:完成 / 处理中(可稍后再查,免费) ``` --- --- url: https://wiki.awmc.team/guide/getting-started.md --- # AWMC TEAM 服务 ::: tip ☕ 支持 AWMC AWMC 是社区驱动的**半公益项目**,核心功能**永久免费**,不接受任何形式的强制收费。维持运转需要真实成本:如果 AWMC 帮到了你,欢迎[赞助支持我们](/sponsor),每一份心意都会让服务更稳定;赞助收入的一部分还会用于**公益捐赠**,收支定期公示~ 当然也要**理性消费**,量力而行就好,别上头喵! ::: 我们提供众多开放服务和API供您调用。 对于部分API,您需要进行申请。 您可以通过上方的图标来向我们团队发送邮件来和我们取得联系。 ## 🚀 三分钟上手 AWMC Bot 欢迎**添加 AWMC Bot**,或把它拉入你自己的群组,一起查分、排卡、猜歌~ 👉 [点击添加 AWMC Bot](https://bot.q.qq.com/s/uYVc4fV6nK) 1. **添加机器人** — 点击上方链接添加,或由群主把 Bot 拉进自己的群;拉群后建议在群管理 中允许 Bot 查看全部消息,猜歌、排卡等群功能才最顺手。 2. **同意用户协议** — 私聊或群内发送 `用户协议`,阅读网页后把完整确认词发回。 3. **绑定舞萌账号** — 发送 `mai绑定`,再把微信「舞萌DX | 中二节奏」二维码识别出的 `SGWCMAID...` 发回即可。 4. **查分** — 发送 `b50` 查看成绩图;想绑定水鱼 / 落雪或开启 AWMC NET 免绑定查分, 见 [使用说明](/guide/bot/intro)。 5. **群功能与群管理** — 猜歌、签到、排卡等直接在群里使用;群主 / 管理员发送 `群管理` 可打开 [群管理后台](/guide/bot/group-console) 开关功能、看群数据、管排卡和天气。 更完整的指令清单见 [指令帮助](/guide/bot/advanced),账号绑定、上传等调用细节见 [指令调用](/guide/bot/commands)。 ## 更多服务 AWMC 还提供以下服务,欢迎体验喵~ | 服务 | 说明 | 入口 | | --- | --- | --- | | 🎵 谱面下载站 | 舞萌 DX 谱面资源下载(ZIP / ADX) | [download.wmc.pub](https://download.wmc.pub) · [AstroDX 导入教程](/guide/astrodx) | | 🎶 谱面预览 | 在线谱面查看与评价分析 | [v.awmc.cc](https://v.awmc.cc) | | 🆔 AWMC NET. | 免绑定查分成绩库,无需水鱼/落雪即可查询 B50 | [net.wmc.pub](https://net.wmc.pub) | | 🔌 开放 API | 供第三方开发者接入的公共接口 | [开发指南](/dev/) | AWMC 不再自建状态站;舞萌服务器线路状态可参考社区项目 [mai.chongxi.us](https://mai.chongxi.us)(**与 AWMC 无任何关联**的独立项目,提供更多维度的监控数据并支持玩家自主上报)。 ::: tip 想在手机上玩下载的谱面? 下载站的 ADX 文件可以一键导入 AstroDX,步骤见 [AstroDX 谱面导入教程](/guide/astrodx)。 ::: --- --- url: https://wiki.awmc.team/dev/awmcnet-api.md --- # AWMCNET Bot API AWMCNET 是 QueryBot 的成绩镜像与查询服务。本文面向需要把成绩同步到 AWMCNET 的 Bot、查分器和服务端开发者。 ::: tip 服务地址 基准地址:`https://net.wmc.pub` 接口使用 `Bot-Token` 鉴权。该令牌只应放在服务端,不能下发到用户端或写入公开日志。 ::: ## `POST /api/bot/sync` 同步玩家资料和成绩。首次同步会按 QQ 创建不公开的临时玩家,之后可通过对应的 `QQ号@qq.com` 认领到论坛账号。 ### 请求头 ```http Bot-Token: Content-Type: application/json ``` ### 请求字段 | 字段 | 类型 | 说明 | | --- | --- | --- | | `qq` | integer | 必填,QQ 号,范围 `10000`~`999999999999` | | `nickname` | string | 可选,玩家昵称 | | `source` | string | 可选,数据来源,如 `sega`、`divingfish` | | `rating` | integer | 可选,当前 Rating | | `old_rating` / `new_rating` | integer | 可选,旧版本 / 新版本 Rating | | `play_count` | integer | 可选,游玩次数 | | `records` | array | 成绩数组,单次最多 10000 条 | | `full_snapshot` | boolean | 全量快照时设为 `true`;增量同步保持默认 `false` | | `snapshot_id` | string | 分块快照的标识,最多 64 个字符 | | `snapshot_final` | boolean | 分块快照的最后一块设为 `true` | ## 分块提交全量快照 一次性成绩过多可能导致请求超时。此时把同一个全量快照拆成多个请求: 1. 每一块都设置 `full_snapshot: true`,并复用同一个 `snapshot_id`。 2. 中间块省略 `snapshot_final` 或设置为 `false`,服务端返回 `status: "partial"`。 3. 最后一块设置 `snapshot_final: true`,服务端返回 `status: "ok"`,并清理本次快照中不存在的旧成绩。 4. 请求超时后,用相同的 `snapshot_id` 重试同一块;重复提交是幂等的。 5. 未完成的快照不能混用另一个 `snapshot_id`,否则返回 HTTP `409`。 分块到达后,成绩会立即写入,但旧成绩只在最后一块到达时删除。因此上传未完成期间, 查询结果可能暂时包含上一份快照中的成绩。 ### 中间块示例 ```bash curl -X POST 'https://net.wmc.pub/api/bot/sync' \ -H 'Bot-Token: ' \ -H 'Content-Type: application/json' \ -d '{ "qq": 123456789, "source": "sega", "full_snapshot": true, "snapshot_id": "qq-123456789-20260825-01", "snapshot_final": false, "records": [ { "song_id": 1, "title": "Example Song", "type": "DX", "level_index": 3, "achievements": 100.1234, "dxScore": 2500, "fc": "fc", "fs": "fs" } ] }' ``` ### 最后一块示例 请求体结构与中间块相同,只需继续使用相同的 `snapshot_id`,并设置: ```json { "full_snapshot": true, "snapshot_id": "qq-123456789-20260825-01", "snapshot_final": true, "records": [ {"song_id": 2, "level_index": 3, "achievements": 99.8765} ] } ``` 最后一块不能提交空的有效快照;至少需要在本次快照的任意一块中提交一条有效成绩。 ### 响应 ```json { "status": "partial", "snapshot_id": "qq-123456789-20260825-01", "imported": 1, "updated": 0, "skipped": 0, "stored_records": 1, "errors": [] } ``` `imported`、`updated`、`skipped` 和 `errors` 反映当前请求这一块;`stored_records` 是 玩家当前已存储的成绩数量。最后一块以及同一 `snapshot_id` 的重复请求返回 `status: "ok"`。 ## `GET /api/bot/player/{qq}` 读取 AWMCNET 已合并的玩家资料、成绩和 B50/B15。需要同样的 `Bot-Token` 请求头。 ## `GET /api/bot/player/{qq}/trend` 读取玩家 Rating 趋势。可用 `days` 查询 1~365 天,默认 30 天。 ::: warning 数据来源 AWMCNET 接口只接收统一成绩数据,不接收 SGWCMAID、街机 UID 或第三方查分器 Token。 ::: --- --- url: https://wiki.awmc.team/guide/bot/phigros.md --- # Phigros 查分(phi) ::: tip 一句话 除了舞萌 DX,AWMC Bot 也能查 **Phigros**:绑定 TapTap 账号后即可查 B30 成绩图、 资料卡、单曲信息、等效 rks,以及「两次存档之间长了多少」的进步报告喵~ ::: Phigros 的成绩来自 **TapTap 云存档**(协议还原自社区 phi-plugin)。绑定挂在**查分 QQ** 上:普通 QQ 直接用当前 QQ,官方 QQ 需先完成[查分 QQ 绑定(qbind)](/guide/bot/intro#八、论坛账号绑定-qbind); 发送 `qbind 你的QQ号`,把 QQ 邮箱验证码发回 Bot 即可,无需先注册论坛;也可发送 `论坛绑定` 走 OAuth。未绑定时发 `phi绑定`,Bot 会提示先绑定查分 QQ。 指令一览: | 指令 | 说明 | |------|------| | `phi绑定` | TapTap 扫码授权(链接 5 分钟内有效),或 `phi绑定 ` 直接绑定 | | `phi查分` | B30 成绩图(默认入口) | | `phi更新` | 立即重新拉取最新云存档 | | `phi进步` | 与上一份存档对比:rks / 门槛 / 单曲精度 / 进出榜 | | `phi资料` | 个人资料卡 | | `phi查歌 <曲名>` | 单曲信息卡 | | `phi随机 [筛选]` | 随机抽一首 | | `phi计算 <定数> ` | 等效 rks 计算器 | | `phi解绑` | 解除绑定 | | `phi帮助` | 指令列表 + 快捷按钮 | | `开启phi` / `关闭phi` | **群主 / 管理员**:本群开关 | 常用的英文子命令写法都可用,例如 `phi bind` / `phi b30` / `phi song` / `phi rand` / `phi com` / `phi update` / `phi progress` / `phi info` / `phi unbind` / `phi help`; `φ` 前缀(如 `φ绑定`)同样识别。 ## 一、群开关 * Phigros 功能在群内**默认开启**;`关闭phi` 后本群所有 phi 指令不再响应,`开启phi` 恢复。 * 开关与猜歌等群功能一样按群保存,群主 / 群管理员即可切换。 * 私聊不受群开关影响。 * 管理员还可以用数据库配置 `phi_module_enabled` 一次性停用整个模块(此时发指令会提示 「Phigros 模块当前已停用」)。 ## 二、绑定与解绑 ```text phi绑定 phi绑定 phi解绑 ``` * **扫码绑定**:`phi绑定` 会返回 TapTap 授权二维码(附带文字链接兜底),用 TapTap App 扫码并在 App 内点「确认」即可,链接 5 分钟内有效。 * **Token 直绑**:已有 sessionToken 时可以直接 `phi绑定 `。 * **凭据安全**:sessionToken 只写入数据库(`phigros_bind` 表),任何回复、图片和日志的 正常输出都**不会回显**它。 * 绑定成功后回复昵称与 rks,并发一条「发 `phi查分` 查看 B30」的提示。 * `phi解绑` 删除绑定,但**保留**历史快照,日后重新绑定仍可对比进步。 * 同一 QQ 同时只允许一个绑定流程;扫码后如果二维码失效,重新发一次 `phi绑定` 即可。 ## 三、B30 查分 ```text phi查分 phi pgr phib30 phi查分 b40 phi查分 best19 ``` * 默认输出 **B30 成绩图**:φ 满分曲 + 前 27 条成绩(名次、定数、acc、评级、推分建议), 并在图上标注本局使用的定数数据版本。 * 榜单长度可调:`phi查分 b` 把展示条数扩到 33~50(写小于 33 也按 33); `phi查分 best` 恰好显示 N 条(1~50)。 * 附带的快捷按钮面板共 10 个:B30 查分 / 我的资料 / 查歌 / 随机 / 等效计算 / 绑定 / 更新存档 / 我的进步 / 解绑 / 帮助。 * 所有出图指令会先回一句「正在生成图片,请稍等一下哦!」,再发送图片。 * 曲绘按需从公共 CDN 下载并缓存;下载失败时降级为曲名首字占位块,不影响出图。 * 查分时会检查存档新鲜度:超过自动刷新窗口(默认 12 小时)会先重新拉取存档(见下节)。 ## 四、存档更新与进步 ```text phi更新 phi进步 ``` * **自动刷新**:`phi查分` 若发现存档超过 `phi_auto_update_hours`(默认 12 小时)就会 先重拉一份,因此平时不必手动更新;`phi资料` / `phi进步` 直接读最近一次存档与快照。 * `phi更新` 适合刚打完机、想立刻看到新成绩的场合。 * 每次**成功**拉取存档都会写一份快照到 `phigros_snapshot` 表; `phi进步` 对比**最近两份**快照,输出 rks 变化、B30 计算值(门槛线)变化、单曲精度 提升,以及新进榜 / 掉出榜清单;只有一份快照时会提示先积累两次。 ## 五、资料、单曲与其他查询 ```text phi资料 phi查歌 <曲名> phi随机 [EZ/HD/IN/AT | 15 | 15+] phi计算 <定数> ``` * `phi资料`:个人资料卡,展示 rks、难度统计、课题段位与 data 货币,并用玩家背景曲绘 模糊铺底;别名 `phi info` / `phi账号资料` / `phi个人信息`。 * `phi查歌 <曲名>`:单曲信息卡,给出定数、谱师、所属章节;**绑定后**还会附带自己 在四个难度上的成绩与推分建议。支持中英文曲名与别名的模糊搜索(别名表随曲库更新)。 别名 `phi song` / `查phi` / `phi搜索`。 * `phi随机 [筛选]`:随机抽一首,可按难度(`EZ` / `HD` / `IN` / `AT`)或定数 (`15` / `15+`)筛选。别名 `phi rand` / `phi随机曲` / `随机phi`。 * `phi计算 <定数> `:等效 rks 计算器,公式为 `rks = 定数 × ((acc − 55) / 45)²`;acc 取值 0~100,定数 0~20。 例:`phi计算 16.7 98.5`。别名 `phi com` / `phi等效`。 * 以上四条查询**不额外计费**;只有 `phi查分` / `phi更新` 按下一节的规则计费。 ## 六、计费 B30 查分按次计费,可从 `BREAK配置` 热修改(改完 60 秒内生效,无需重启): | 配置键 | 默认 | 说明 | |---|---|---| | `phi_b19_cost` | `2` | B30 查分单价(BREAK / 次);`0` = 免费 | | `phi_update_cost` | `0` | `phi更新` 单价;默认免费 | | `phi_auto_update_hours` | `12` | 存档自动刷新窗口(小时) | | `phi_module_enabled` | `1` | 模块总开关(`0` = 全模块停用) | * 计费走与其它服务一致的路径:事先确认余额,**成功后才扣费**;余额不足会给出提示。 * 享有与账号指令相同的 FREEDOM 免单、免费窗口等优惠规则;返回文案会标明是否免单与余额。 * 存档里携带的 TapTap 昵称仅用于展示,绑定身份始终以**查分 QQ** 为准。 ## 七、数据与曲库 * 曲库与定数跟随上游 phi-plugin 数据更新,当前收录 328 曲(含 Chapter 9「穹顶孤舟」), 由管理员在需要时同步新版数据集;图上的角标会标明本次使用的定数数据版本。 * 曲绘缓存在 Bot 侧 `data/phigros/ill` 目录,命中缓存后不再重复下载。 * 渲染使用与 phi-plugin 相同的模板;截图进程偶发崩溃时会自动重试一次,仍失败则回落内置渲染。 ## 八、常见问题 **发 `phi` 没反应?** 先看是不是在本群被关了:让群主 / 管理员发 `开启phi`;若提示「Phigros 模块当前已停用」, 则是管理员在配置里关闭了模块。 **提示先 qbind?** 官方 QQ 使用 Phigros 绑定前需要先绑定查分 QQ:发送 `qbind 你的QQ号` 并回复邮箱验证码,或发送 `论坛绑定` 完成 OAuth,之后再发 `phi绑定`。 **存档不是最新的?** 刚打完机可以直接 `phi更新`;平时查分超过 12 小时会自动重拉,若仍然看不到新成绩, 确认一下机器是否已联网上传 TapTap 云存档。 **`phi进步` 说没有可对比的存档?** 进步依赖快照:成功查分 / 更新两次之后(存档有变化时),对比才有内容。 --- --- url: https://wiki.awmc.team/en.md --- --- --- url: https://wiki.awmc.team/guide/group-rules.md --- # 交流群群规 ::: tip 一句话 AWMC 交流群是围绕 **舞萌 DX** 与 **AWMC** 服务的交流空间。 为了让大家聊得舒服、也让服务走得长远,请花两分钟看看下面的约定喵~ ::: 本页适用于下列全部官方交流群,以及 AWMC Bot 所在的其他群聊。**进群即视为已阅读并同意本页内容。** ::: info 群规修改恕不另行通知 本页规则可能根据实际情况随时调整,**修改恕不另行通知**,恕不逐一告知;请以本页当前内容为准, 继续留在群内即视为接受最新版本。 ::: ## 一、群列表与定位 | 群 | 群号 | 定位 | 加群链接 | | --- | --- | --- | --- | | 1 群 | `1072033605` | 【主群】综合交流、答疑 | [点击加入](https://qm.qq.com/q/Gj3QmfEyY0) | | 2 群 | `993795066` | 【游戏群】群内小游戏 | [点击加入](https://qm.qq.com/q/PF5t1VXPi0) | | 3 群 | `1094792527` | 【无 Bot】纯聊天,不提供 Bot 功能 | [点击加入](https://qm.qq.com/q/a1eRQGxoBO) | | 4 群 | `1048450426` | 综合交流、分流备用 | [点击加入](https://qm.qq.com/q/WEOuqtw00O) | ::: warning 想玩游戏请去 2 群 为保证 1 群的交流体验,**1 群不承载群内小游戏的报名与开局**(猜歌、猜群友、狼人杀、投票等)。 想参与游戏请加入 **2 群(游戏群)**。 ::: 群名额有限,请**只加入你实际需要的群**,不要多群重复加入或长期只挂机占位;管理员有权清理长期无发言的占位成员。 另有**开发者交流群** `1067350296`,面向接口对接与协作,见[开发者中心](/dev/)。本页规则同样适用于该群。 ::: danger 禁止机器人入群,发现即踢(不另行警告) **全部官方交流群一律禁止任何第三方机器人加入**,包括但不限于: * 用 **OneBot / NapCat / SL(Shamrock、Lagrange 等)** 等框架或协议端自建的 Bot; * 各类**签到、推送、抽奖、点歌、AI 聊天**类现成 Bot; * 群友自己部署、以「拉个 Bot 玩玩」为名义拉进群的任何机器人; * 用**小号伪装成机器人**、或给机器人挂上人类昵称混进来的。 **一经发现直接踢出**,不提醒、不宽限、不解释。想继续用请自己部署到**私群**, 不要在官方群内保留。 **AWMC Bot 本身、以及管理团队统一维护的官方 Bot 不在此列。** 几个判定要点: * 以「是否为一个自动回复的机器人账号」为准,不看它自称什么; * 拉 Bot 进群的人负责在 Bot 被移出后清掉残留(如欢迎语、定时消息), 长期留着不管的按**广告**追加处理; * 同一个 Bot 被踢后**反复拉回**,拉人者按第六节升级处理; * 只发几条消息就「潜水」的 Bot 同样算,不因「它还没说话」而放过。 ::: ## 二、相互尊重 * 文明发言。**禁止**辱骂、人身攻击、威胁、歧视、地域黑、挂人、人肉搜索等行为。 * **禁止辱骂、谩骂机器人、管理层、项目制作人或负责人;此类行为将导致永久封号。** * 观点不同很正常,请就事论事,不要针对个人;不要在群里追着人对线。 * 不拿他人的隐私、外貌、身份玩梗,也不开让人不适的玩笑。 * **禁止冒充**官方、管理员、Bot 或他人身份发布信息。 ### 群昵称规范 群昵称应**可正常识别与称呼**。禁止使用下列类型的昵称: | 类型 | 说明 | | --- | --- | | `OPENID` 及同类标识 | 平台内部标识、Bot 返回的 `OPENID`、`Ref_ID`、Token 等无实义编号 | | 乱码与不可见字符 | 乱码字符串、无意义字符堆、纯空白昵称、零宽字符等用于隐藏身份的昵称 | | 伪装 Bot 或官方 | 冒充 Bot、管理员、群主、官方团队的名称及其近似写法(如 `AWMC`、`Bot`、`管理员` 等身份性名称) | | 冒充他人 | 使用他人昵称、头像或身份特征,足以使人误认 | 管理员有权要求修改不合规昵称;**经提醒后仍未修改的**,按第六节处理。 ::: danger 禁止跨群挂人与断章取义转发(永久拉黑) **禁止**将群内聊天记录(含群主、管理员、Bot 管理员及群成员的发言)以**断章取义**的方式 截图、转发或搬运至其他群聊及平台,用于公开指责、引导舆论、挑起争端或实施报复。 **禁止**在其他群聊或平台针对群成员的发言进行**公开辱骂、嘲讽、指名攻击**或组织围攻。 违反本条者,**一经发现即永久拉黑**,不另行警告。以下情形均不构成免责事由:以玩笑为名、 以私下分享为名、或以未预见后果为名的转发与传播。 群内讨论应在群内解决。确需向管理团队反映的,请通过**私聊**提交并附完整上下文, 不得散播截图片段。 ::: ## 三、理性交流 * 鼓励积极解答他人的问题,但**没有人有义务必须回答**。 * 问题长时间无人回应时,请先检查表述是否清晰、是否提供了足够的背景信息 (平台、版本、报错原文、复现步骤等)。信息越具体,越容易被解答。 * 求助前请先看[帮助文档](/guide/introduction)与[指令帮助](/guide/bot/advanced), 文档里已经写明的问题,请勿反复刷屏追问。 * 遇到 Bug、账号异常、数据错误或功能建议,请到[论坛](https://bbs.wmc.pub/forums/awmc-bot.17/)发帖, 而不是在群里 @ 群主或管理团队。 * 请勿长时间刷与主题无关的话题。 ::: warning 遇到问题请去论坛发帖,不要 @ 群主或管理团队 群主与管理团队**不是客服**。遇到 Bug、账号异常、数据错误、功能建议等问题,请先查 [帮助文档](/guide/introduction)与[指令帮助](/guide/bot/advanced);仍然解决不了的, 请到**论坛**发帖提问: 👉 **[AWMC Bot 版块 · bbs.wmc.pub/forums/awmc-bot.17](https://bbs.wmc.pub/forums/awmc-bot.17/)** 发帖时请写清问题描述、复现步骤,并附上 Bot 返回的 `Ref_ID`,方便定位。 在群里反复 @ 群主、管理或 Bot 管理员催问,或以私聊方式无端骚扰管理团队与群成员, 都属于**骚扰行为**:轻则提醒,重则**禁言 1 日**,屡犯按第六节升级处理。 ::: ## 四、禁止发布的内容 以下内容**一律禁止**发布或讨论,情节严重者直接移出,并按第六节在全部 AWMC 服务范围内处理: 1. **未经证实的内容** —— 小道消息、爆料、「据说」、未经核实的截图与传闻; 2. **转发抽奖、帮挂抽奖、集赞互帮** —— 任何形式的拉人、拉票、助力、砍价、拼团链接; 3. **舞萌 DX 的破解、修改、外挂相关内容** —— 也包括改机、私服、盗号、代练、账号买卖与共享; 4. **任何可能影响舞萌 DX 中国服务器运营的细节内容**; 5. **任何形式的广告与推广** —— 第三方产品、服务、社群、站点、直播间、接单与引流; 可分享的范围仅限**主流社交媒体平台的内容**与 **AWMC 相关服务**; 6. **其他同类服务与 Bot** —— 禁止在群内提及其他查分 Bot、状态站、群管工具等同类服务, 包括**推荐、比较、评测、拉人、引流**等任何形式。本群只讨论 AWMC 自身的使用与问题; 7. **私聊拉人** —— 以私聊方式向群成员发广告、拉群、推销,同样按广告处理; 8. **他人的账号凭据** —— `SGWCMAID`、官方二维码链接、查分器 Token 等,禁止索取、转发与展示; 9. **跨群挂人与断章取义转发** —— 把群内聊天记录(含群主、管理员、群友发言)断章取义地 截图搬运到其他群聊或平台;在其他群聊公开辱骂、嘲讽、围攻群友; 10. 违法、色情、赌博、暴力、政治敏感、涉未成年人不良内容,以及其他违反平台规定的内容。 ::: info 关于第 6 条的边界 本条针对的是**其他同类服务与 Bot**,不是禁止提及任何外部名词。 AWMC Bot 自身功能的组成部分(例如水鱼 / 落雪上传、TapTap 云存档、机厅数据源等) 属于正常使用讨论,可以正常提问与解答。 ::: ::: danger 关于「敏感细节」 涉及舞萌 DX 服务器、接口与运营的任何**未公开细节**,请不要在群内讨论或传播。 这不是「话题禁忌」,而是为了保住大家正在用的服务:相关内容一旦扩散,受影响的会是所有人。 ::: ## 五、消息秩序 * **禁止恶意刷屏**:重复发送相同内容、大量无意义表情包、刷图、刷语音、连续 @ 等。 * 引用回复请截取必要部分,不要整段长文反复引用。 * Bot 指令请在合适场合使用,避免用长指令(如整页帮助、批量查询)连续刷屏; **禁止滥用 Bot 接口**批量刷取数据或占用资源。 * 讨论与提问请分条发送,一条消息说清一件事。 ## 六、违规处理 管理员会按**情节轻重**与**次数**处理,常见的处理阶梯如下: | 情形 | 处理方式 | | --- | --- | | 轻微、初犯(跑题刷屏、轻度不文明) | 口头提醒、撤回消息 | | 昵称不合规(`OPENID`、乱码、伪装 Bot 或他人) | 提醒改名;**经提醒仍未修改的,移出群聊** | | 第三方机器人入群(OneBot / NapCat / SL 等自建 Bot、签到推送类 Bot) | **直接踢出(移出群聊)**,不另行警告 | | 骚扰管理团队(反复 @ 催问、私聊无端打扰) | **禁言 1 日** | | 一般违规(刷屏、转载未经证实内容、轻度广告) | 警告并记录 | | 提及其他同类服务或 Bot(含推荐、比较、引流) | 提醒并撤回;重复或明确引流按下一档处理 | | 重复违规或明确违规(广告、抽奖转发、凭据外传) | **禁言 10 分钟 ~ 24 小时** | | 严重违规(辱骂攻击、破解外挂内容、影响服务器运营的细节、恶意滥用接口) | **移出群聊(踢出)** | | 辱骂、谩骂机器人、管理层、项目制作人或负责人 | **永久封号** | | 断章取义搬运群内发言到其他群聊 / 在别群公开辱骂群友 | **直接永久拉黑**,不作警告 | | 极其严重或屡教不改(人肉搜索、诈骗、组织性违规、被踢后反复骚扰) | **移出并永久拉黑**,必要时同步平台举报 | 几点说明: * 广告、外挂破解、人肉攻击、凭据外传等**明显违规不事先警告**,可直接禁言或移出; * **昵称不合规**(`OPENID`、乱码、伪装 Bot 或官方、冒充他人)以**整改为先**:先提醒改名, 拒不整改或改后复犯的移出群聊;以伪装身份实施诈骗、诱导等行为的,直接按严重违规处理; * **第三方机器人入群**不设整改期:发现即踢,不看它说没说过话、也不看拉它进来的是谁; 同一 Bot 被踢后反复拉回的,拉人者按**重复违规**升级处理; * **断章取义挂人、跨群辱骂群友**属于**零容忍**项:一经发现即永久拉黑, 同时适用于涉事的全部 AWMC 群聊; * **无端骚扰**(反复 @ 群主 / 管理团队催问、私聊打扰、被提醒后仍不停)**默认禁言 1 日**, 不因「只是一直问问题」而豁免:问问题请去论坛发帖; * **提及其他同类服务与 Bot**(第四节第 6 条):一般提及以**提醒并撤回**为主; 以推荐、比较、拉人、引流为目的,或在被提醒后继续的,按**禁言 10 分钟 ~ 24 小时**处理; 明显为其他服务拉人引流的,视同广告处理; * 禁言时长、是否移出由管理员按实际情况判断,多次小违规会累计升级处理; * 处理记录会被保留,短期内在多个群重复违规按同一人累计。 ### 违规的跨服务影响 群内违规**不限于群聊层面的处理**。对于情节严重或屡次违规的用户,AWMC 团队有权在 **全部 AWMC 服务范围内**限制或封禁其账号,包括但不限于: | 服务 | 可能的影响 | | --- | --- | | **AWMC BOT** | 限制或封禁查分、上传、群功能与账号相关指令 | | **AWMC API** | 撤销密钥、限制调用额度或封禁接入 | | **AWMC KOA** | 限制或封禁相关功能与权限 | | **赛事与活动** | 取消参赛资格、成绩或已获得的奖励 | 跨服务处理的范围与期限由 AWMC 团队根据违规情节判定。具体的账号限制规则另见 [服务协议与隐私政策](/guide/bot/terms)。 ## 七、责任与申诉 * 你在群内的所有发言须遵守**所在平台的服务条款与社区规范**。因违反平台规定导致的 封号、限制等后果,本群不承担任何责任。 * 因使用 AWMC Bot 产生的数据与风险,按[服务协议与隐私政策](/guide/bot/terms)处理。 * 对处理结果有异议,请**私聊管理员**说明情况,不要在群内公开对线;管理员会复核, 误判会撤销处理并致歉。**正常申诉不属骚扰**,只要说清事实、不刷屏催问即可。 * 本页提到的「禁止骚扰」指的是无端、反复、被提醒后仍继续的打扰,不包括正常求助与申诉。 * 永久拉黑类处理同样接受**一次**申诉:请私聊管理员并提供完整上下文,管理员核实后 确属误判的会撤销;但**不因此改变「不事先警告」的原则**。 * 本页规则可能随时调整,**修改恕不另行通知**;请以本页当前内容为准,继续留在群内 即视为接受最新版本。 ## 八、一起来玩 * 添加 AWMC Bot:[点击添加](https://bot.q.qq.com/s/uYVc4fV6nK),绑定账号后即可查分、排卡、猜歌。 * 新手请看[快速开始](/guide/getting-started),完整指令清单见[指令帮助](/guide/bot/advanced)。 * 群主 / 管理员可用 `群管理` 打开[群管理后台](/guide/bot/group-console)开关功能、看群数据。 * 遇到 Bot 异常时,请保留返回的 `Ref_ID`,管理员可据此排查。 --- --- url: https://wiki.awmc.team/guide/introduction.md --- # 什么是AWMC Team ## 我们是谁 AWMC TEAM 初次建立其实是 Milk 一个人所制作的,当时的他非常懵懂,但是对服务器有着基础了解。在机缘巧合下注册了 `awmc.cc`。 当时只是尝试制作 AWMC 论坛,在后续发展了 AWMC Status,AWMC Bot 等业务。 ## 我们做什么 我们正在发展舞萌相关的内容!包括舞萌状态监测,舞萌机器人,尽量以极低成本为各位玩家效劳。 ## 关于 Milk 舞萌萌新一枚,希望各位大佬求带!有些时候让各位大佬不满意的地方请多多指教 `>w<` --- --- url: https://wiki.awmc.team/guide/bot/verify.md --- # 授权 本Bot的舞萌功能需要授权。授权范围为群。 :::danger 未授权提示 当你在未经报备的情况下擅自拉群,机器人不会提供舞萌相关功能的服务。 ::: ## 机厅免费申请 官方机厅玩家群(需要有官方字样)可申请免费授权: ![](/images/official_arcade_example.png) 请[发送邮件](mailto:3801477277@qq.com)给我们;也可以在[论坛联系我们页](https://bbs.wmc.pub/misc/contact)留言。按照如下要求填写: > 主题: 群号 + "机厅授权申请" > > 在内容中 说明机厅地址+机厅群信息界面的截图。 --- --- url: https://wiki.awmc.team/guide/update.md --- # 更新日志 后续更新日志在 [爱发电动态](https://afdian.com/a/AWMC_TEAM?tab=feed)。 ## 2026 年 10 月 ### 2026/10/29 * **[AstroDX 谱面导入教程 · 批量导入](/guide/astrodx#batch-import) 重写** — 下载站的「全版本」改为每个版本一个版本包 (二十多个,可全部开始下载或复制链接给 IDM / aria2);版本包的真实文件名是版本名(如 `BUDDiES.adx`); 新增电脑 / iPhone / 安卓批量解压步骤,并提醒不要用手机流量下载。 ### 2026/10/26 * **[AstroDX 谱面导入教程](/guide/astrodx) 补充 iPhone / iPad** — AstroDX 已在 App Store 上架(国区可下载,iOS / iPadOS 15.0 及以上), 不再需要 TestFlight;新增 iOS 上用「文件」App 把 `.adx` 移进 `AstroDX` 文件夹的导入步骤,以及手动导入、批量包、 `collections.zip` 和常见问题的 iOS 写法。 ### 2026/10/24 * **qbind 免注册论坛** — 发送 `qbind 你的QQ号`,回复 QQ 邮箱收到的 6 位验证码即可绑定查分 QQ;验证码 10 分钟有效、错 5 次作废。同平台用户与同邮箱重发间隔 60 秒,滚动 24 小时分别限 10 / 5 封。`论坛绑定` 仍走 OAuth;未配置邮箱服务时 qbind 也退回 OAuth。详见 [qbind 使用流程](/guide/bot/intro#八、论坛账号绑定-qbind)。 * **批量类价格与风险提示同步** — `mai批量编辑` 默认整批 1500 BREAK,首个确认成功项扣一次,已扣费续跑不重复扣;`mai全解锁` 默认每次成功 1500 BREAK。两者**未经测试,非常不推荐使用**,上游最长可能约 30 分钟且很有可能卡死;结果不确定先 `查进度`,不要重复提交。多谱面成绩编辑 / 删除仍按每谱面 258 / 50 BREAK 计费。详见 [账号编辑与批量操作](/guide/bot/commands#八、账号编辑与批量操作-v2-3)。 * **牌子统计长图** — `牌子统计` / `统计牌子` 每次实时拉取查分器全量成绩,展示各代姓名框获取条件与个人进度,曲绘标注未打 / 已打 / 已鸟并附图例;图片渲染失败时回退文字统计。 ### 2026/10/23 * **新增 [AstroDX 谱面导入教程](/guide/astrodx)** — 从 [download.wmc.pub](https://download.wmc.pub) 下载 ADX / ZIP 后如何导入 AstroDX:一键导入、手动导入、批量版本包、`collections.zip` 分类收藏夹与常见问题。 * **群管理指令补全** — [指令帮助](/guide/bot/advanced) 新增「2.15 入群验证、自动审批与踢人」与「机厅排卡」写法; [群管理后台](/guide/bot/group-console) 新增「群主 / 管理员指令速查」。 ### 2026/10/22 * **新玩法「舞萌 Dle(maidle)」** — 发 `maidle` 开局,全群 10 次机会猜一首歌,每次作答对比版本 / 分类 / BPM / 曲师 / 紫谱定数 / 类型 / 谱师七项;`maidle 困难` 不给提示。猜中时其他有效作答者也有协助奖励。 规则见 [猜歌 · 舞萌 Dle](/guide/bot/advanced#_2-6-猜歌)。 * **底力分析 / 弱项处方改为成绩驱动** — `底力分析` 输出单张全景成绩统计图,按同段定数对比强弱项; `弱项处方` 生成八卡训练面板。 * **状态页联动** — 新增 `状态页` / `服务状态` 查询 [up.wmc.pub](https://up.wmc.pub);状态页发布 Bot 维护时自动进入维护模式。 ### 2026/10/19 * **群管理工具** — 新增 `入群验证`(新成员群内答题)、`自动审批`(按关键词处理入群申请)、 `mai踢 @某人 [-b]`(踢人 / 踢人并拉黑)与 `mai拉黑` / `mai解封`;未开通踢人权限时自动降级为禁言 30 天。 详见 [指令帮助 2.15](/guide/bot/advanced#group-moderation)。 ### 2026/10/16 * **曲目查询补齐五个维度** — 新增 `等级查歌 <等级>`(如 `13+`)、`谱式查歌 `、 `分类查歌 <分类>`、`版本查歌 <版本>`、`拟合定数查歌 <值/范围>`;分类与版本零命中时会 列出全部可选值,候选在官方 QQ 上可点。 * **查歌速查行 + 试听** — `查歌` 介绍图后追加一条**速查行**:曲师 / 谱师 / 分类 / 版本 / 谱式 / BPM / 等级 / 定数 / 拟合定数逐项列出,按难度展开的行带难度色块;官方 QQ 上每个 值是正文**可点蓝字**,点一下就把对应查询指令填进输入框,并附「🎵 试听」按钮。 新增 `试听 <歌曲ID>`:约 60 秒片段,从约 20% 处切入,首次现裁并缓存。 * **新玩法「选哪个」** — 群里说「吃拉面还是米饭」「是去 A 还是 B」「吃 A 还是 B 还是 C 呢?」 (2~4 个选项)随机替你定一个。`还是` 表示「仍然 / 依旧」的句子不会误触发 (`我还是不去了吧`、`天还是那么蓝`);选项里有敏感词时改发不含原文的版本 (`# 🎲 🎯 就决定是你了:第 N 个`)。 * **门攻略补齐** — 修复「棱镜塔攻略」没有回复;10 个门链接统一到 KALEIDXSCOPE 子站 `kaleidxscope.awmc.team`,新增「乱码门」,并补齐 `蓝色之门` / `白色之门` … `最终相` 等游戏内名与档案名别名。 - **签到改为 24 小时冷却** — 不再按「每日 00:00(UTC+8)重置」,改为**距上次成功签到满 24 小时**即可再签;冷却期内会明确提示还需等待多久。重复签到罚款默认关闭。管理员可用 `BREAK配置 checkin_cooldown_mode daily` 回退旧口径。 - **一次性二维码开关(管理员)** — `BREAK配置 one_time_qrcode 1` 后,一个二维码只服务一次 「用到二维码的操作」,之后的操作用户需要重新发码;`BREAK配置 pick_sensitive_words <词>` 追加「选哪个」的敏感词。默认 `0`(沿用 10 分钟内复用)。 - **吃分推荐 v2** — 同段口径接入水鱼全服分布,阈值按实测校准;生成期先回一条「正在生成」 提示,成功后再出图。 - **官方 QQ 交互升级** — 固定编号 / 枚举动作迁到正文可点,曲名与地板指令曲名蓝字; 猜群友 / 二选一 / 找内鬼改为回调按钮作答(防跟风),键盘随之瘦身。 - **画图** — 等待提示改为按真实平均耗时估算;超时上限 180 → 300 秒(`BREAK配置` 可调)。 - **排行榜** — 展示名统一为论坛昵称,分片定时刷新。 ### 2026/10/15 * **停机故障补偿** — 10-15 13:53 至 10-16 00:18 整机停机约 10.4 小时(期间无法签到)。 已按方案补发:补 10-15 当天签到(余额与连签一并修好)、全服 +300 BREAK、 全服双倍 BREAK 卡 +30 小时、全服 FREEDOM +3 小时;重复执行不会重发。 ### 2026/10/11 * **Phigros 查分模块(phi)** — 绑定 TapTap 云存档即可查 B30 成绩图、资料卡、单曲信息、 等效 rks 与进步对比;命令为 `phi绑定` / `phi解绑` / `phi更新` / `phi进步` / `phi查歌` / `phi随机` / `phi计算` / `phi帮助`,群内可用 `开启phi` / `关闭phi` 切换。详见 [Phigros 查分](/guide/bot/phigros)。 * **任务看板 `查进度`** — `mai查任务` 更名为 `查进度`(原别名保留),改为彩色看板图: 分「进行中 / 已完成 / 失败需核对」三区,展示当前步骤与百分比,并按历史耗时估算 「预计还需 X 秒」。 * **新玩法「猜群友」** — 题面给三位群友与一张谱面,猜谁的达成率最高;每人限一注、 15 秒统一开牌,每押中一胜 +1 BREAK(每日上限 50)。 * **吃分推荐升级为多路线版** — 拆成「稳妥吃分 / 挑战突破 / 探索」三条路线,每条给独立 净收益;新增 `吃分换批` / `吃分反馈` / `吃分撤销` / `吃分重看` / `吃分练习`, `今日吃分推荐` 与 `我要上<分数>分` 同步切换。 * **狼人杀与群投票** — 群内开局、私聊行动的多人狼人杀(4~16 人,含警长玩法),以及 群里可发起的多选项 / 曲目 / 范围投票;结果可在群管理后台的「投票结果」页查看。 * **小游戏权限引导** — 官方 QQ 群缺少主动消息权限时开局会贴图提醒,群主核对设置后可按提醒里的版本号发 `小游戏权限不再提醒 <版本号>` 停止同一版本的重复提醒。 - **上传任务后台化** — 水鱼 / 落雪上传拆成多渠道并行任务,配合 `查进度` 看板查看进度。 ### 2026/10/02 ::: warning 历史记录,不是当前调用说明 以下保留当时的功能与价格记录。当前源码中,成绩按谱面条数计费、跨类型批量编辑默认整批 1500 BREAK(至少一项确认成功扣一次),一键全解锁默认 1500 BREAK / 次;两种批量功能未经测试,非常不推荐。完成地图、推进地图与登录奖励修改临时停用。用户仍须确认操作风险,只有服务端会话确认由 Bot 自动完成。最新用法与实例版本限制请见 [指令调用说明](/guide/bot/commands)。 ::: * **账号写操作升级到 AWMC API v2-3 会话制** — 成绩、道具与资料修改改为「服务端会话」模式:Bot 自动完成创建与确认并轮询结果,无需手动确认;单次约 1~2 分钟,超时不会自动重投,可凭 `session_id` 用 `mai查任务` 续查。 * **成绩批量** — `mai改成绩` / `mai删成绩` 支持换行或分号分隔一次最多 20 条;**计费按次不按条数**(75 / 50 BREAK),要求同批统一简单或专业模式。 * **账号编辑集合 `mai改资料`** — 汇总全部写操作指令与价格,并带一键进入各指令的按钮(别名 `资料修改` / `改资料` / `资料命令`)。 * **批量编辑 `mai批量编辑`** — 一次对话收集多项修改(可跨类型:地图、道具、成绩、资料),确认后串行执行多个上传会话;最多 3 项,**一次性 300 BREAK**,单项失败会记录原因并继续。 * **一键全解歌 `mai全解锁`** — 按 `music` / `master` / `remaster` 一键解锁全部曲目(已拥有自动跳过),200 BREAK / 次。 * **14 项资料修改指令** — 新增 `mai改门`、`mai改rating`、`mai改里程`、`mai改地图库存`、`mai改游玩次数`、`mai改段位`、`mai改阶级`、`mai改搭档`、`mai改角色`、`mai改亲密度`、`mai完成地图`、`mai推进地图`、`mai改登录奖励`、`mai重置版本`,每项成功 50 BREAK。 * **名称输入** — 门、角色、搭档、地图、登录奖励等参数可直接填写名称,Bot 自动转换为 ID;匹配到多个同名资源时列出候选。 * **上传会话查询 `mai查任务`** — 免费查看上传会话进度与结果,支持断线续查。 * **计费均可热配置** — 批量编辑、一键解锁、资料修改等价格可在数据库配置中调整(管理员 `BREAK配置`)。 - **门状态与活动查询下线** — 上游 v2-3 已移除 `get-kaleidx-scope` 与 `get-game-event` 读接口,切换完成后 `mai门状态` / `maievent` 会提示该查询已移除;账号道具可改用 `mai道具`。门状态修改改用 `mai改门`(支持门 1~6)。 ## 2026 年 9 月 ### 2026/09/25 * **AI 生图** — 新增 `画图 <描述>`,默认消耗 358 BREAK;支持 `-p` / `--reference` 参考图图生图,以及 `-q auto` 质量参数。失败、超时或被拒绝时不扣除最终费用。 * **官方 QQ 生图消息** — 修复官方 QQ 群聊中 `@机器人 画图 <描述>` 不触发的问题;支持同一条消息附参考图。 * **参考图兼容性** — QQ CDN 返回异常 `Content-Type` 时,只要实际图片数据有效仍可读取;同时支持官方 QQ 的 `file` / `attachment` 图片附件,并继续执行安全 URL、大小和 Pillow 图片校验。 * **内容安全** — 生图和扣 BREAK 前增加本地敏感内容拦截,违法违规、敏感政治、未成年人色情等请求直接拒绝且不扣 BREAK;模型服务仍会执行上游安全审核。 * **猜歌与开字母游客模式** — 未完成 `qbind` 的用户也可以参与相关小游戏并计入榜单,但不发放 BREAK 奖励。 * **统计与排行** — 增加命令使用统计、BREAK 收支图和排行图,官方 QQ 群显示用户身份标签;抽奖支持最多 1000 次,今日运势 BREAK 奖励可配置且默认关闭。 - **上传性能** — 并发优化 AWMCNET、水鱼、落雪上传流程,并改用中位数估算耗时。 ### 2026/09/10 * **群管理后台(群管理面板)** — 发送 `群管理`(别名 `管理后台` / `群后台`)获取本群 网页后台的一次性登录链接,浏览器中即可开关群功能、查看近 1/7/30/90 天群数据统计、 管理机厅排卡与天气、自定义消息模板(超管)并为成员授权;`后台身份` 可查看当前身份。 详见 [群管理后台](/guide/bot/group-console)。 * **赞助榜** — 新增 `赞助` / `赞助榜` / `本月赞助`,读取爱发电开放数据生成当前自然月 赞助榜;金额默认隐藏,管理员可用 `BREAK配置 sponsor_show_amount 1` 开启显示。 * **签到加成管理** — 新增 `加成设置` / `加成管理` / `加成配置`,管理员可添加、编辑、 开关、删除周期 / 群 / 日期 / 连签类动态签到加成规则,并可设置 `设置全局签到加成`; 普通用户发送 `查看加成` / `加成总览` / `加成列表` 查看当前生效加成。 * **维护模式** — 新增 `维护模式 [开/关]` 与 `维护消息 <文本>`,维护期间拦截普通功能 请求并返回统一提示,仅超级管理员可继续操作。 * **卡密商店** — 新增 `卡密商店` / `BREAK商店`,BREAK 不足时可直接查看卡密购买入口。 * **官方 QQ 菜单与指令面板** — 新增 `设置QQ菜单`、`设置QQ面板` / `QQ面板列表` / `QQ面板详情` / `删除QQ面板`,可推送单聊底部菜单与 c2c/群 指令面板。 * **排卡与天气增强** — 排卡支持 Nearcade 店铺自动补全、可配置查询 / 上报 / 预测模板、 每日天气摘要推送与恶劣天气提醒;群后台统一管理机厅与天气设置。 ### 2026/09/08 * **等级筛选 B50 说明** — 补充 `13+b50`、`紫13+b50`、`14.0b50` 等按等级/定数筛选 B50 的用法,并说明 `ab50` 会取消 B35/B15 分组后直接取筛选结果中 Rating 最高的 50 首。 * **“单曲目等级 B50”释义** — 明确该功能会从用户全量成绩中筛选指定等级或定数、重算单曲 Rating 并组成条件 B50,不是查询一首歌,也不是列出该等级的全部曲库。 * **指令清单补全** — 对照源码补充 `同步b50`、`年报`、课表、水鱼 OAuth、排卡、福利池、`dx2025b50`、`锐评风格`,以及卡密、公告、QQ 平台配置等管理员指令。 ## 2026 年 8 月 ### 2026/08/10 AWMC 版本号 `V26.10.1` \[AWMC V2] * **AWMC NET 免绑定查分** — 新增默认成绩库 [AWMC NET.](https://net.wmc.pub),新用户默认数据源为 AWMCNET;发送一次 `SGWCMAID` 即自动建档并同步成绩,无需绑定水鱼/落雪即可查询 B50;首次同步提示可用 QQ 邮箱注册 NET.,可用 `数据源 AWMCNET/水鱼/落雪` 切换。 * **成绩趋势** — 新增 `成绩趋势` / `rating趋势` / `mai趋势` / `awmc趋势 [天数]`,读取 AWMC NET. 服务端每日 Rating 趋势,无需开启本地数据存储。 * **卡密系统** — 新增 `兑换卡密` / `redeem` 兑换 BREAK / 双倍 / FREEDOM 卡密,支持群内与私聊自动兑换;`我的卡密` / `卡密状态` 查看当前生效加成;管理员可创建、查询、作废、统计卡密。 * **你想我猜(20 问猜曲)** — 新增 `你想我猜` / `20问猜曲`,Milk 心里想一首曲目,群友用「是/否」提问缩小范围并猜曲名;LLM 语义理解,支持分类/谱师/版本/定数等比较题、中途猜曲名、`查看已有信息` / `20问进度` 与 `重置你想我猜`;与其它猜歌玩法同群互斥。 * **账号只读查询** — 新增 `mai预览` / `mai道具`(成功查询各 5 BREAK),以及 `mai门状态` / `mai查门` / `查门`(5 BREAK),只读展示账号预览、道具列表与 Kaleidx Gate 的发现、钥匙、通关状态。 * **成绩与道具管理** — 新增交互式及一步式 `mai改成绩` / `改分`(75 BREAK / 条)、`mai删成绩` / `删分`(50 BREAK / 条),支持曲名/别名解析、难度选择、百分比达成率,按 DX 星级或实际分自动判断简单/专业模式;新增确认式 `mai清票` / `清票`(10 BREAK)清空 Charge 票券、`mai改道具` / `改道具`(100 BREAK,高风险、未经测试)。 * **BREAK 红包** — 新增 `发红包 [总额] [份数]` 群内手气红包、`抢红包` 领取、`红包状态` 查看领取明细、`收回红包`(满 90 秒,未领余额退回);10 分钟未领金额自动退回。 * **补签与经济统计** — 新增 `AWMC补签` / `补签`,补昨天签到,每月最多 3 次,依次消耗 30 / 60 / 90 BREAK;新增 `BREAK统计` / `BREAK收支` 查看今日、近 7 天、近 30 天全局收支;`BREAK抽奖 帮助` 查看奖池概率;`贡献总榜` / `首富榜` 查看倾家荡产总贡献。 * **公告与门攻略** — 新增 `公告列表`、`确认阅读公告`;发送蓝/白/紫/黑/黄/红门名或 `哪些门`、`门攻略 [门名]` 获取对应 Kaleidx 门攻略链接。 * **其它指令** — 新增 `谱面排行` / `谱面热度`、`友人对战排行`、`不同意共享我的数据` / `同意共享我的数据` / `数据共享状态`。 - **AWMC Gateway API v2** — 适配新响应信封;发票改为同步执行并沿用近期真实耗时预计,移除已失效的发票队列查询与 `maiqueue` 命令。 - **发票价格** — 调整为倍率 × 10 BREAK(2 倍 20、3 倍 30、5 倍 50),旧默认倍率单价启动时自动迁移;默认仅允许 2 / 3 / 5 倍。 - **锐评计费** — `锐评一下` 改为按模型实际 Token 计费,调用前预扣 10 BREAK,成功后多退少补、生成或制图失败全额退回;同段结论补充脱敏聚合样本人数、谱面覆盖率与置信度,推分候选按 B35/B15 地板估算单曲收益。 - **签到经济收敛** — 连签奖励封顶 3,群倍数不再放大连签奖励;修复 MySQL 下 `break_config` 缺主键导致每次启动重复插入、读到历史无上限曲线的问题,管理员 WebUI 配置现在可真正生效。 - **直发二维码** — 即时提示撤回状态与动态预计耗时;无账号记录时自动验真绑定/认领,随后同步 PC 并按已绑定的水鱼/落雪渠道自动上传;明确 `maiu` 仅水鱼、`maiul` 仅落雪、`maiua` 两边,直发二维码默认走自动渠道。 - **我的 AWMC** — 改为分段聊天记录并加入现代化图片渲染,展示账号功能今日/累计/成功失败统计与最近流水。 - **图片渲染现代化** — 群 Rating 排行榜、我在群里有多菜、牌子进度、B50 风险面板、吃分推荐改为带曲绘的紧凑卡片;修复中文字体豆腐块与头像缓存。 - **二维码识别** — 图片二维码扫描隔离到带并发与 4 秒超时的子进程,新增原图 → 放大 → 灰度 autocontrast → 锐化多路兜底与多种二值化,手机拍屏/群图压缩识别率明显提升。 - **舞萌状态** — `舞萌状态` / `mais` 失败率改用 AWMC 全局统计接口,按业务错误、服务端/转发错误、客户端 4xx 分类绘图。 - **完成表缓存校验** — 定数表与完成表生成时记录曲目及定数签名,曲库变化后拒绝使用过期底图并提示管理员执行 `更新完成表`。 - **高负载附加费** — 60 秒内真实功能请求超过 30 个后,第 31 个起由触发者额外支付 1 BREAK(阈值、窗口、价格均可通过 ENV 调整)。 - 今日舞萌 BREAK 产出减半(人品值 ÷20);查歌使用 WMC 标签替代退役 combined-tags。 * 修复开字母三字符错字容忍导致 `the` 误开曲名、别名均不含 `the` 的歌曲。 * 修复含金量/含水量出图头像不显示、今日吃分推荐无候选时 `ValueError`。 * 修复弱项处方标签与渲染阻塞、B50 风险预警图片编码、群 Rating 排行榜 MySQL 访问问题。 * 修复 `我的AWMC` 在 MySQL NULL 字段与图片二次编码下的报错。 * 修复卡密 MySQL 建表兼容、大 QQ 号自动兑换失败、多人同时兑换卡死事件循环。 * 修复你想我猜多处 LLM 提示词花括号、定数档位语义与结算卡死问题。 ### 2026/08/06 AWMC 版本号 `V26.8.14` \[AWMC V2] * **极限二选一** — 新增 `舞萌极限二选一` / `极限二选一` / `二选一`,支持 `加入` / `参赛` 参加五轮左右曲目比较;揭晓图明确标注绿 Basic、黄 Advanced、红 Expert、紫 Master、白 Re:MASTER 难度。 * **开字母看板模式** — 新增 `开字母文字模式`、`开字母图片模式`、`开字母自动模式`,可按群聊人数和负载选择渲染方式。 - **小游戏并发互斥** — 猜歌、猜曲绘、猜曲子、猜铺面、猜 Rating、找内鬼、极限二选一和开字母统一按群串行,避免重复开局与旧对局误结算新对局。 - **渲染性能** — 图片任务使用独立 CPU 线程池并提高默认并发额度,降低绘图任务对 Bot 消息响应的影响。 - **SW-API 配额提示** — `quota_exceeded` 会展示个人读/写配额、当前用量和北京时间恢复时间;配额耗尽不会被误报为二维码失效或验证失败。 ## 2026 年 7 月 ### 2026/07/28 AWMC 版本号 `V26.8.13` \[AWMC V2] * **猜 Rating 四档难度** — `猜Rating` 随机 1~4 级,也可用 `猜Rating1`~`猜Rating4` 指定;难度越高,展示卡片和成绩辅助信息越少,积分与 BREAK 小幅提高;被抽中的题主不能作答或参与奖励 * **B50 找内鬼** — 使用 `找内鬼` / `找假卡` 开局,在 5 张 B50 卡片中找出单曲 RA 被篡改的一张;45 秒内发送 1~5 作答,按正确答案提交速度结算积分与 BREAK * **我的猜歌七玩法** — 统计新增"猜 Rating"和"找内鬼",趋势、玩法卡片、占比环图与近期明细改为按玩法数量自适应排版 * **倾家荡产** — 全部 BREAK 梭哈抽奖,支持标准 / 刺激 / 高风险三种模式;每次开局收取 2 / 3 / 5 BREAK 入场费(不退还),谢谢参与 70% / 78% / 82%,最高倍率 50x / 100x / 100x;随时可用(无日期限制);输光的 BREAK 进入福利池(50% 可分配) * **抽奖池** / `领取福利` — 查看今日贡献榜与领取福利,按贡献比例分配奖池 - **锐评计费与失败保护** — 现有 Token 基础价乘以 3;调用模型前预扣 6 BREAK,成功后按实际用量多退少补,模型或制图失败全额退回 - **锐评证据与推分路线** — 同段结论展示脱敏聚合玩家数、谱面覆盖率和置信度;推分候选按 B35/B15 对应地板估算单曲收益,并使用稳定排序方便复核 - **完成表缓存校验** — 生成完成表时记录曲目与定数签名;曲库变化后不再使用过期底图,并在启动或查询时提示管理员执行 `更新完成表` - 猜 Rating、B50 找内鬼、开字母及其它猜歌玩法统一同群互斥;Bot 关闭时会清理未完成状态 ### 2026/07/27 AWMC 版本号 `V26.8.12` \[AWMC V2] * **猜 Rating 游戏** — 猜 Rating 新模式:随机选群友隐藏 B50 身份与成绩(只留曲绘 / 等级 / FC / FS),限时猜最接近 Rating;支持自定义首数与时间(`猜rating 30 90`);固定积分 + BREAK 奖励(🥇15/3、🥈5/1、🥉3/0、参与1/0) - 新增谱面标签 API `GET /api/v1/charts/:chartKey/tags`,返回难度分类、雷达轴 / 评估轴标签、回归特征贡献与谱面模式检测 ### 2026/07/26 * **段位表** — 新增 PRiSM PLUS 段位认定课题图,指令 `段位表 真二段` / `真二段段位表`;支持 `@用户` 查询个人成绩展示 * **段位样本统计** — 图片展示 LIFE 规则、课题曲等级/定数、个人最高达成率、匿名样本量、均值、中位数、P25-P75 分布与 SSS 率 - 段位图使用玩家名牌与官方段位 Plate 资源,页脚标明实时/内置样本来源,并提示段位结果以机台为准 ### 2026/07/20 AWMC 版本号 `V26.8.7` \[AWMC V2] * **舞萌开字母计时结算** — 局内不计分/BREAK;全部解开后按用时星级 + 贡献分配积分与 BREAK;用时展示 `xx.xxx秒` * **自适应星级** — 默认 ≤30/45/60/90/180 秒;群通关变快后按历史 P35 收紧五星(15–30 秒),其余星按比例缩放;结算展示本局阈值 * **结算展示** — 先短文案(用时 `xx.xxx秒` + 星级 + 奖池),再本局贡献分成图,最后全开看板;`不玩了` 仅揭晓不发速度/贡献奖 * **开字母限时×3** — 活动一周内开字母结算分数与 BREAK ×3,文案与榜图标注「限时×3」;过期自动恢复 1 倍 * **开字母榜单** — `开字母排行` / `开字母贡献榜` / `开字母时间榜` * **我的猜歌** / `猜歌数据` / `猜歌统计` — 个人五模式(猜歌 / 曲绘 / 曲子 / 铺面 / 开字母)近 30 日趋势、积分/次数双雷达、模式卡片与近期明细;支持 `@某人` 查对方本群数据;群内 `我的AWMC` 自动附带猜歌数据图 * **舞萌状态** / `mais` — 「服务器失败率」折线图(账号操作全量:发票、maiu 上传、绑定等;`returnCode=0` 计失败;无数据时段省略)+ 服务器实时状态 * **猜铺面 BGM** — 曲末阶段预制谱面视频并混流 BGM;渲染与在线服隔离,避免拖垮接消息 - **猜歌答题限流** — 同一用户全局 2.5 秒只能答一次(猜歌 / 曲绘 / 曲子 / 铺面);超限提示「嘿嘿,你的答案被我吃掉啦!」 - **开字母冷却** — 非高峰另有 2.5 秒/人冷却(与猜歌全局限频独立,文案同上);人多/突发进入文字模式后跳过冷却 - **开字母人多文字模式** — 贡献人数或短时突发达阈值时,局中看板降级为纯文字;通关结算仍强制出图 - **猜铺面自适应并发** — 按系统负载调节预制/补洞并发,忙时降档保在线响应 - 统一存储 MySQL 同步加速:工作集未变更可跳过打包;未改文件可复用;启动同步后台执行、不阻塞接消息 - `我的AWMC` / `发票统计`(管理员)展示发票 `returnCode=0` 与 null/未返回次数 * 猜歌数据图排版:趋势图例与标题分行、雷达标签外推,避免遮挡 ::: tip 文档 指令说明见 [指令帮助 · 猜歌](/guide/bot/advanced#_2-6-猜歌) 与 [账号帮助](/guide/bot/advanced#_1-1-帮助与信息)。 ::: ### 2026/07/18 * **AWMC 公共 API 网关换新上游**:开放路径改为 `/v1/health`、`/v1/user/*`、`/v1/charge`、`/v1/charge/queue`、`/v1/update-lx`、`/v1/update-fish` * `keychip` 由服务端注入;调用方只需传 `qrcode` 等业务字段 * 计费以 HTTP 2xx 且上游 `code === 0` 为准;充值入队后绑定 mai `userId`,队列仅返回本人任务并脱敏 * 旧路径(如 `/v1/get_preview`、`/v1/upload_b50`、手动成绩类等)已下线,详见 [开发者文档](/dev/awmc-api) ### 2026/07/16 AWMC 版本号 `V26.8.5` \[AWMC V2] * 直接在群内发送二维码文本,即可自动同步 * 支持直接发送二维码照片,识别后自动同步 ::: tip 修改建议 欢迎前往 [AWMC 论坛](https://bbs.wmc.pub/forums/awmc.19/) 提出建议。接入 AI 后会自动修改机器人,审核通过即可使用并更新。 ::: ### 2026/07/15 AWMC 版本号 `RELEASE-20260715 V26.8.1` \[AWMC V2] * `maibindfish` / `mai绑定水鱼` 新增无参数交互式绑定:Bot 会提供水鱼查分器入口,并引导用户在“编辑个人资料”中生成和复制 `Import-Token` * 水鱼 Token 格式错误时会继续等待,本轮最多可输入 3 次;支持发送“取消”退出 - 用户提交的水鱼 Token 会优先撤回;撤回失败时提示用户手动撤回 - 水鱼绑定成功仅显示脱敏 Token,并附带可供管理员追踪的 `REF_ID` - 水鱼绑定提示、重试与结果会引用触发消息,降低多人同时操作时的歧义 * 修复发票实际成功后被错误提示为 `FinishedException()` 的问题 * 一并修复账号、地图、队列、落雪 B50 等流程中的同类成功结果误报 ### 2026/07/05 * **maiBot 升级 V3** * **官方机器人支持** * **mai-queue** 已连接 [nearcade.com](https://nearcade.com) * 增加 **b50 查询**体验 - 下载站去除群内验证,改为排队 - 因受水鱼影响,采用积分制度限制用户调用 * 下载站已知问题修复 * 修复索引无法下载的问题 ## 2026 年 6 月 ### 2026/06/30 * **游玩排行50**(`游玩PC50` / `PC游玩50` / `pc游玩50`)— 全库游玩最多的 50 首谱面图,不限于 Rating B50 - `pc排行` 标题改为「PC全部排行(共 N 人)」,展示全部已同步用户,不再误标为群内且不限前 15 人;新增别名 `pc全部排行` / `PC全部排行` - `更新pc数` 完成提示、`pca50` 说明文案调整,与 `游玩排行50` 区分 ### 2026/06/23 AWMC 版本号 `PRE-20260623 V26.6.4` \[AWMC V2] * **猜曲子** — 全新群小游戏:4 个阶段、每阶段 30 秒语音,乐器逐步叠加(鼓 → 鼓+贝斯 → +其他 → +人声) * 越早猜中积分越高(10 / 9 / 7 / 5) * 超级用户私聊可 `更新猜曲音频`;`更新猜曲音频 -full` 强制重建缓存 - 猜曲音频烘焙:先裁切再分轨防内存溢出,demucs 失败自动回退 ffmpeg;支持逐首异步烘焙与中断 - 猜曲全流程 `[GuessAudio]` 日志;缓存版本号自动作废旧数据 - 猜歌积分:日 / 周 / 月 / 季 / 赛季榜;递减计分;周期榜结算归档与历史查询;结算分条发送;连击与宴会场过滤 - B15 上分推荐:版本判定更新至 DX2026「丸」代曲目;曲库无 CiRCLE 时回退「镜彩」代;上分为空时多重回退 - PC 数拉取迁移至 sw-api `user/music` 接口 * 猜曲子四阶段混音与阶段文件校验 * 猜歌答案容错正则字符类 * B15 上分推荐多处筛选缺陷 * sw-api 返回 `code=0` 且 `msg` 为 JSON 时的解析 ### 2026/06/15 * **猜歌积分排行** / **猜歌积分周榜** — 查看本群猜歌/猜曲绘总积分及本周排行(合并转发聊天记录形式) * **弱项处方**(`弱项处方单` / `底力处方` / `练习推荐`)— 弱项处方单图片,支持 @他人 * **b50风险**(`B50风险` / `b50风险预警` / `风险预警`)— B50 风险预警图片,支持 @他人 * **对战战绩**(`headtohead` / `h2h` / `对决战绩`)— 与群友 Head-to-Head 对比图 * **目标rating**(`rating沙盘` / `目标分` / `推分沙盘`)— 推分沙盘文字方案,如 `目标rating 16000` - 进阶教程文档同步上述新指令说明 ### 2026/06/13 AWMC 版本号 `PRE-20260613 V26.6.3` \[AWMC V2] * 下载站 https://download.awmc.cc 上线 * 舞萌定数更新 * 群人数上限增加到 3000 人 - 修复下载站的若干问题 - 修复部分完成表显示问题 - 防止用户不刷新网页的东西 ### 2026/06/10 * 新项目 download.awmc.cc 下载站上线 * 更新舞萌 DX 2026 - 迁移了很多数据到新的服务器 * 修复已知问题 ### 2026/06/04 * 新项目上线:舞萌 DX 谱面下载站 - 优化成绩获取,新增缓存 * 修复批量下载可能造成的问题 * 修复 .adx 格式会额外添加一个 .zip \[v26.6.1 - Pre] ### 2026/06/01 AWMC 版本号 `ALPHA-20260601 V26.6.0.67` \[AWMC V2] * 修复已知问题 AWMC 版本号 `ALPHA-20260601 V26.6.0.65-66` \[AWMC V2] * 修复等级进度兼容未知同步类型(如 `fs=sync`),`_parse_level_plan` 同时支持 `combo_rank`/`sync_rank` 等内部值 * `舞舞` 改为等价 `fdx`(FSD/FDX 及以上) AWMC 版本号 `ALPHA-20260601 V26.6.0.64` \[AWMC V2] * 支持中文简称进度查询:`13将`(sss)、`14+极`(fc)、`13神`(ap)、`13舞舞`(fsd)、`13者`(bbb),支持分页筛选和 @他人查询 AWMC 版本号 `ALPHA-20260601 V26.6.0.63` \[AWMC V2] * 新增 `地板` 查询指令 — 查看 B35/B15 地板,支持按难度/定数筛选、查他人,别名 `b50地板`/`rating地板` AWMC 版本号 `ALPHA-20260601 V26.6.0.62` \[AWMC V2] * 日报/周报/月报/存档对比统一视觉重写(B50 背景、毛玻璃面板、B50 提升布局修复、页脚栏) AWMC 版本号 `ALPHA-20260601 V26.6.0.61` \[AWMC V2] * 修复 B50 与游玩详情 DX 星数计算偏差 — `dxScore()` 改为浮点百分比直接比较阈值,不再 `int()` 截断 ## 2026 年 5 月 ### 2026/05/31 AWMC 版本号 `ALPHA-20260531 V26.6.0.50-26.6.0.60` \[AWMC V2] * **落雪(Lxns)数据源接入** — OAuth 绑定(`lxbind`)、数据源切换(水鱼/落雪)、`lxb50` 查询,数据源自动路由,曲库/谱面/别名本地缓存(1h) * **成绩图页脚信息** — 所有成绩图下方显示数据源、主题、⏱️ 耗时(数据获取/图片渲染/总计),底部追加 `Generated by xxx BOT | QQ Group 1072033605` * **B50 数据异常提示** — 水鱼无数据/掩码成绩/落雪无数据等场景自动诊断提醒 - **定数表/完成表渲染重写** — 统一网格坐标、毛玻璃卡片样式,舞/霸者完成表分页 - **底力分析图优化** — 毛玻璃面板、条形图白底轨道+数值徽章,雷达图样式优化 - **主题系统与图片路径统一** — `pic()`/`resolve_theme_path` 统一管理,字体路径改为 `static/font/`,图片缺失优雅降级 * 修复定数表/完成表 SSS 评级、FC/AP 图标错位 * 修复牌子图路径错误(`plate/` → `plate_version/`) * 修复 lv15 定数表、舞系完成表崩溃(RaMusic 无 `basic_info`、不可哈希) * 修复 `minfo`/`info` 渲染坐标及 TOTAL 列重叠 * 宴谱过滤:ID ≥ 100000 判定,避免宴谱混入 b50 * 移除白名单、上传水鱼/落雪、拿票等功能(按需精简) * 启动钩子健壮性、谱面预览域名改为 `v.awmc.cc` AWMC 版本号 `ALPHA-20260531 V26.6.0.0-26.6.0.50` \[AWMC V2] * **主题系统支持** — 所有图片路径现在支持主题切换(`prism_plus`/`circle`),主题专属图片从主题子目录读取,共享图片从根目录读取 * **舞/霸者完成表分页** — 舞和霸的完成表分为两页(13+ 及以上 / 13 及以下),生成 `舞-1.png` 和 `舞-2.png`,霸者共用舞的文件 * **底力分析图表视觉优化** — 配色改为温暖夕阳色系,雷达图添加阴影/光晕/顶点高光,条形图添加阴影/高光/背景框,字号增大 * **曲绘查找逻辑优化** — 支持四位数格式(`% 10000`)和 JPG 格式,提高封面查找成功率 - **版本更新后图片路径全部失效** — 旧路径直接从 `pic/` 根目录读取,新版本需要区分主题目录和根目录 - **牌子/图标文件名更新** — `UI_Plate_300501` → `UI_Plate_550101`,`UI_Icon_309503` → `UI_Icon_509506` - **文件名连字符改为下划线** — `d-{num}` → `d_{num}`,`t-{num}` → `t_{num}`,`ra-dx` → `ra_dx`,`info-{cat}` → `info_{cat}` - **背景图片文件名修正** — `song_bg` → `chart_info`,`info_bg` → `play_info`,`unfinished_bg` → `unfinished_1`,`complete_bg` → `complete_1`,`unfinished_bg_2` → `unfinished_2`,`complete_bg_2` → `complete_2`,`rating_bg` → `complete`,`plate_num` → `plate_progress` - **minfo/info 渲染坐标错位** — 对照 beta 分支修正所有坐标:封面大小/位置、类型图标位置、BPM 位置、定数/notes/谱师/rating 布局全部重排 - **舞/霸牌子查询 KeyError** — `version_map` 中舞和霸没有 `plate_to_dx_version` 的键,改用显式检查避免 KeyError - **完成表目录结构** — 从 `platedir/plate_{version}.png` 改为独立目录 `plate_table/{version}.png`,牌子图标素材从 `plate_version/{version}{plan}.png` 读取 - **霸者查询路径** — 霸和舞共用 `舞-{page}.png` 完成表文件 - **共享图片 vs 主题图片区分** — `UI_CMN_TabTitle_NewSong`、`{version}`、`{type}`、`d_{num}`、`fcfs`、`UI_CHR_PlayBonus_*`、`UI_GAM_Gauge_DXScoreIcon_*`、`UI_MSS_*` 等共享图片改用 `pic()` 从根目录读取;`logo`、`ra_dx`、`UI_TTR_Rank_*` 等主题图片继续用 `_rtp()` 从主题目录读取 - **完成表渲染逻辑重写** — 对照 beta 分支重写:网格布局改为 `start_x=180, start_y=490, gap=96, row_count=12`,图标大小调整,统计信息位置调整,舞/霸使用 `plate_progress_wu.png` ### 2026/05/30 AWMC 版本号 `ALPHA-20260530 V26.6.0` \[AWMC V2] * Bot 支持落雪查分器 ### 2026/05/27 AWMC 版本号 `RELEASE-20260527 V26.5.19` * 新增 `wife` 表情包生成功能 - 修复定数错误与浮点数精度问题 - 修复宴会场被统计入 B50 的问题 - 修复其他宴会场相关问题 AWMC 版本号 `RELEASE-20260527 V26.5.18` * 新增 `dx2026b35` — 支持查询新版本 PRiSM 的 B35 信息 - 修复定数异常 - 修复宴会场被统计到 `dx2026b50` 中的问题 AWMC 版本号 `BETA-20260527 V26.5.17` * 新增 `dx2026b35` — 支持查询新版本 PRiSM 的 B35 信息 ### 2026/05/25 AWMC 版本号 `RELEASE-20260525 V26.5.16` * `koishi-plugin-maibot` 1.9.9 * 防小号绕过冷却机制:绑定时检查同 maiUid 是否已被其他 Bot 用户绑定,警告但允许继续(持有 SGID 证明所有权) * 冷却共享:同一游戏账号的所有 Bot 用户共享冷却计时(新增 `maiuid:` 共享键) * 超过 2 个绑定时拦截有冷却的命令,提示用户解绑多余账号 - `koishi-plugin-maibot` 1.9.8 * 修复 `maibypass` 失效问题:补全 `koishi:` 统一键,能正确清除以统一键存储的冷却记录 * `/mai管理员设置个人优先` 参数可省略,缺失时进入交互式(依次询问目标用户、时长) * `/mai管理员设置群组优先` 参数可省略,缺失时进入交互式(群内可发 `0` 使用当前群) ### 2026/05/24 AWMC 版本号 `BETA-20260524 V26.5.15` * 修复 b50 锐评调用生成类 AI 不会审核输出内容 ### 2026/05/23 AWMC 版本号 `RELEASE-20260523 V26.5.13` * API 新增端点 `/v1/delete_score_manual` * Bot 新增删除成绩功能 AWMC 版本号 `BETA-20260523 V26.5.14` * 新增 PC (Play Count) 游玩次数统计功能 * `更新pc数` — 引导扫码拉取游玩次数数据 * `pc50` — B50 按游玩次数排序,卡片右下角显示 pc:xx * `pca50` — 无视 B35/B15 分组的紧凑版 PC 排序 * `我的pc数` — 总游玩次数 + 最多的 15 首 * `pc数 <歌名/ID>` — 查询某首歌游玩次数 * `pc排行` — 群内用户按总游玩次数排名 AWMC 版本号 `BETA-20260523 V26.5.13` * 暂时关闭舞里程功能 * 修复发票 API ### 2026/05/22 AWMC 版本号 `BETA-20260522-C2 V26.5.13` * 修复机器人问题 AWMC 版本号 `BETA-20260522 V26.5.12` * 新增 `mai上传乐曲成绩` 功能 * 新增 `mai获取收藏品` 功能 ### 2026/05/20 AWMC 版本号 `RELEASE-20260520 V26.5.10` * 服务器升级为物理机,提供极致的性能体验 * 修复了部分已知问题 * 你好我也想要个对象求分配。 ### 2026/05/19 AWMC 版本号 `RELEASE-20260519 V26.5.7` * Wiki、站点配置与开发者文档中的**对外示例链接**,统一展示为 **`awmc.cc` 及其子域**(如 `api.awmc.cc`、`status.awmc.cc`、`store.awmc.cc`、`wiki.awmc.cc` 等)。 * **兼容说明**:若你的书签或自建集成使用过其它域名后缀,请以 **`*.awmc.cc`** 为准并及时更新。 ### 2026/05/17 AWMC 版本号 `RELEASE-20260517 V26.5.6` * 新增了**520**这个特殊的暧昧的小情侣的对于神秘歌曲**Love You**的游玩次数的统计 (你好我也想要个对象求分配。) * 新增域名 `wmc.pub`。我们做了个神秘的东西。 ### 2026/05/14 AWMC 版本号 `BETA-20260514 V26.5.5` * 支持了不同等级和难度的b50查询 比如 `13b50` `白13b50`等。 * 完全测试了 今日吃分推荐 根据最近的数据自动推荐。本功能会根据您的游玩自动推荐较为合适的铺面。 * 支持锐评你的b50,触发指令`锐评一下`。 - 修复了部分KALEIDXSCOPE网页中的问题 - 修复了KOOK机器人掉线的问题。 - 修复了由于DNS污染跳转到黄色网站的问题。 - 修复了网页加载异常卡顿问题。 - 修复API站点无法登陆的问题。 - 修复STAT无法获取数据的问题。 * 优化部分情况下使用发票指令造成的小黑屋。 * 优化生成体验和交互。 * Status页面移除了对NET的检测。 ## 2026 年 4 月 ### 2026/04/04 AWMC 版本号 `RELEASE-20260403 V26.4.03` * 修复了QQ机器人无法渲染图片的问题。 * 修复了由于容器化导致的机器人协议端数据丢失。 * 修复了“我在群里有多菜”功能 ### 2026/04/03 AWMC 版本号 `RELEASE-20260403 V26.4.03` * 修复了商城支付接口出错的问题。 * 修复了KOOK机器人掉线的问题。 * 修复KALEIDXSCOPE页面上的数据的问题。 - 优化了渲染速度。 - 优化部分情况下使用发票指令造成的小黑屋。 --- --- url: https://wiki.awmc.team/guide/bot/explain.md --- # 术语解释 ::: tip 善用Ctrl+F进行查询 ::: ## B50 全称Best 50。 舞萌DX通过一个特殊的公式来计算每首歌获得的Rating。 从大到小排列,其中前35个旧版本歌曲和前15个新版本歌曲组成了B50。 将它们的Rating相加,便得出DX Rating。 ### B50 筛选写法 查询 B50 时,以下筛选条件彼此独立: * `紫b50` / `白b50`:按谱面难度筛选,分别对应 Master / Re:MASTER。 * `三星b50` / `四星b50`:按成绩的 DX 星数筛选,分别为 3 星 / 4 星。 * `3b50` / `4b50` / `13+b50`:按数字等级或定数筛选;这里的数字不是 DX 星数。 * `紫13+b50` / `14.0b50`:可以组合谱面难度与等级/定数,分别表示紫谱 13+ 与定数 14.0。 * `<条件>ab50`:例如 `13+ab50`,按相同条件筛选,但不再拆分 B35/B15,直接取筛选结果中 Rating 最高的 50 首。 因此,“单曲目等级 B50”通常指按某个等级查看自己的最佳成绩,例如发送 `13+b50`。Bot 会从你的全量成绩中筛出该等级,重新计算单曲 Rating,再按新旧版本组成该条件下的 B35/B15;它不是只查询一首歌曲,也不是列出该等级的全部曲库。 ### B40 全称Best 40。 在舞萌DX 2022及之前的版本采用的DX Rating计算方法,现已不再沿用,但部分BOT仍可生成。 ## FC/全连 全称Full Combo,是舞萌特殊评价的一种,需要谱面游玩过程中所有的Note都取得Good及以上评价。 ### FC+ 全称Full Combo+,是舞萌特殊评价的一种,与FC不同的是,需要谱面游玩过程中所有的Note都取得Great及以上评价。 ## AP/PM/AJ ::: tips 提示 这种评价在音游中广泛存在。 ::: 全称All Perfect,是舞萌特殊评价的一种,需要谱面游玩过程中所有的Note都取得Perfect及以上评价。 PM的说法来自移动端音游 Arcaea ,全称Pure Memory,与AP的条件类似,AJ的说法则来自街机音游 中二节奏 ,全称All Justice,与AP的条件类似。 ### AP+/理论 全称All Perfect+,是舞萌特殊评价的一种,需要谱面游玩过程中所有的Note都取得Perfect及以上评价,且所有BREAK音符均取得Critical Perfect评价,达成后的分数为理论最高值,因此也被称为理论。 --- --- url: https://wiki.awmc.team/guide/bot/group-console.md --- # 群管理后台(群管理面板) ::: tip 一句话 「群管理后台」是 AWMC Bot 的网页控制台。群主 / 管理员在浏览器里就能开关本群功能、 查看群数据、管理机厅排卡与天气,不用再记一大堆文字指令喵~ ::: ## 一、怎么进入 在目标群里向 Bot 发送: ```text 群管理 ``` 别名:`管理后台`、`群后台`。 进入需要满足以下任一条件: * 你是本群的**群主或管理员**(角色由平台自动识别,普通群成员无法进入); * 你已被超级管理员在群后台中**授权**为本群管理; * 你是插件超级管理员。 默认情况下,还需要先具备[已关联的论坛身份](/guide/bot/intro#八、论坛账号绑定-qbind), 后台会使用论坛身份确认「打开链接的是你本人」。可先发送 `qbind 你的QQ号` 用 QQ 邮箱验证码绑定;若 Bot 未能关联 / 创建论坛账号,查分 QQ 绑定仍有效,但默认后台登录还需发送 `论坛绑定` 完成论坛 OAuth。 发送 `群管理` 后,Bot 会返回一条**一次性登录链接**(5 分钟内有效,只能用一次): * 默认模式:链接带 `#invite=...`,打开后按页面引导完成论坛授权,再自动跳回后台; * 快速登录(服务器开启时):链接带 `#fast=...`,打开即可直接登录,无需再授权。 ::: danger 登录链接会出现在群里 Bot 回复的链接可能被群内其他成员看到。请打开后尽快使用,不要转发给他人;快速登录 模式下链接可以直接登录,更要小心保管喵~ ::: 如果 Bot 提示无法确认管理权限,请发送: ```text 后台身份 ``` 把返回的身份 ID 交给超级管理员,由管理员在群后台中为你授权。 ## 二、后台能做什么 | 模块 | 说明 | |------|------| | 群总览 | 查看你名下各群的今日活跃、消息量与最近活跃时间;群名为空时自动从平台读取,也可点「同步群名」手动刷新 | | 功能开关 | 一键开启 / 关闭本群的成绩查询、猜歌、Phigros 查分、BREAK、排卡、账号、搜索、游玩次数等功能 | | 群数据统计 | 查看近 1 / 7 / 30 / 90 天的 BREAK 收支、功能调用占比、成员消息排行与使用流水 | | 投票结果 | **超级管理员**功能(路径 `{PUBLIC_URL}/votes`):查看本群(与全服)投票的列表、票数条形图 / 饼图,并可提前关闭;明细(投票人 / 原始输入)也在此页 | | 机厅排卡 | 添加、编辑、删除机厅;从 Nearcade 自动补全店铺资料;查看上报历史 | | 天气 | 开启每日天气摘要推送,设置推送时间、恶劣天气提醒与订阅周期 | | 消息模板 | 自定义排卡的查询 / 上报 / 预测文案(仅超级管理员) | | 成员授权 | 超级管理员可把某个 `后台身份` 授权为本群管理,授权默认 30 天有效 | 后台中的关键操作都会记录审计日志,方便管理员回溯。 ## 三、群主 / 管理员指令速查 {#admin-quick-ref} 后台之外,下面这些指令可以直接在群里发送(需要群主 / 管理员权限,详细说明点链接查看): | 想做的事 | 发送 | 详见 | |----------|------|------| | 开关猜歌类小游戏(猜歌、开字母、maidle、猜群友等) | `开启mai猜歌` / `关闭mai猜歌` | [猜歌](/guide/bot/advanced#_2-6-猜歌) | | 开关狼人杀 | `开启狼人杀` / `关闭狼人杀` | [狼人杀](/guide/bot/advanced#_2-13-狼人杀) | | 开关 Phigros 查分 | `开启phi` / `关闭phi` | [Phigros 查分](/guide/bot/phigros) | | 开关别名推送 | `开启别名推送` / `关闭别名推送` | [群聊互动扩展](/guide/bot/advanced#群聊互动扩展) | | 新成员入群出题验证 | `入群验证 开启` | [入群人机验证](/guide/bot/advanced#入群人机验证) | | 按关键词自动通过入群申请 | `自动审批 开启` + `自动审批 关键词 添加 <词>` | [入群自动审批](/guide/bot/advanced#入群自动审批) | | 踢人 / 踢人并拉黑 | `mai踢 @某人` / `mai踢 @某人 -b` | [踢人与群黑名单](/guide/bot/advanced#踢人与群黑名单) | | 订阅机厅每日天气 | `subweather <机厅别名>` | [机厅排卡](/guide/bot/advanced#机厅排卡) | | 发起群投票 | `创建投票 <标题> <选项A/选项B>` | [投票](/guide/bot/advanced#_2-14-投票) | | 给群友发猜歌加倍卡 | `发加倍卡 @用户 [数量] [有效小时]` | [管理员渲染与预制状态](/guide/bot/advanced#管理员渲染与预制状态) | | 关掉「小游戏权限」提醒 | `小游戏权限不再提醒 <版本号>` | [群聊互动扩展](/guide/bot/advanced#群聊互动扩展) | | 强制结束卡住的游戏 | `重置猜歌` / `重置maidle` / `重置猜群友` 等 | [猜歌](/guide/bot/advanced#_2-6-猜歌) | ::: tip 先把 Bot 设成管理员 入群审批、踢人、禁言、自动撤回凭据等操作,都需要先在 QQ 群设置里把 Bot 设为**管理员**; 想让 Bot 不 @ 也能回复、正常玩猜歌,还要允许 Bot「查看所有消息」,见 [把 Bot 拉进自己的群](/guide/bot/intro#add-to-group)。 ::: ## 四、常见问题 | 提示 | 解决办法 | |------|----------| | 「群管理后台尚未启用」 | 该功能尚未开放,请联系 Bot 管理员 | | 提示先绑定查分 QQ / 论坛账号 | 发送 `qbind 你的QQ号` 用邮箱验证码绑定;若仍缺论坛身份,发送 `论坛绑定` 完成 OAuth | | 「未能确认群管理权限」 | 发送 `后台身份`,把返回的身份 ID 交给超级管理员授权 | | 「请先在群管理设置机厅经纬度」 | 进入后台,在「机厅排卡」中添加机厅并填写经纬度 | | 链接打不开或报错 | 确认是从 Bot 刚返回的新链接打开;链接 5 分钟且仅一次有效,过期请重新发送 `群管理` | 相关入口:[指令帮助](/guide/bot/advanced#_2-12-高级功能) · [使用说明](/guide/bot/intro) · [赞助支持](/sponsor) --- --- url: https://wiki.awmc.team/sponsor.md description: 支持 AWMC 社区服务持续运行 --- # ☕ 赞助支持 AWMC AWMC 的全部服务由社区成员利用业余时间维护,**不接受任何形式的强制收费**,所有核心功能永久免费开放。 维持这些服务需要真实的成本。如果 AWMC 曾帮到你 —— 帮你查到一次成绩、帮你避开一次白跑,或者只是陪你在群里水了一会儿 —— 欢迎请我们喝杯咖啡。 你的每一分赞助,都能看到它去了哪里。 ::: tip 💛 不过也要理性消费喵 感谢大家的喜爱与赞助喵呜~ 不过也要**理性消费喵**,在自己能力范围内力所能及就好。 感谢您对 AWMC 的喜爱与支持!Ciallo~(∠・ω< )⌒☆ ::: ## 爱发电赞助 我们欢迎您的赞助,如果您愿意支持我们,欢迎打赏 nya! 如果您喜欢我们的服务的话,可以赞助我们喵呜~ 请我们打 1PC 嘛~ 目前唯一的官方赞助渠道是**爱发电**:可以按月持续支持,也可以一次性打赏,还能看到实时进度与目标喵~ ::: tip 推荐理由 爱发电是**公开透明**的:有详细记录,按月支付,比一次性转账更能支撑长期运维。 ::: 当前目标进度、赞助档位与赞助者情况,均以[爱发电页面](https://afdian.com/a/AWMC_TEAM?tab=shop)实时展示为准。 ## 🙏 特别鸣谢 AWMC 的一路前行,离不开合作伙伴的帮助。感谢以下伙伴的支持,让我们的舞台越来越大、跑得越来越稳喵~ ::: info 关于舞萌状态站 AWMC 自身的舞萌状态站与状态 API 已停止维护(详见[状态 API 说明](/dev/status-api))。后续舞萌服务器状态数据可参考社区项目 [mai.chongxi.us](https://mai.chongxi.us/): * **与 AWMC 没有任何关联**,由社区独立开发与维护; * 提供更多维度的监控数据,并支持玩家自主上报状态。 感谢该项目长期以来为我们提供的舞萌服务器状态数据支持。 ::: ## 我们提供什么 | 服务 | 说明 | | --- | --- | | [AWMC Bot](/guide/bot/intro) | 舞萌 DX 成绩查询、 rating 推算、谱面查询等 | | [开放 API](/dev/) | 供第三方开发者接入的公共接口 | | [谱面预览](/dev/chart-preview) | 在线谱面查看与评价分析 | ## 钱花在哪里 赞助收入主要流向两个方向:**让服务活着**,以及**把善意传出去**。 | 支出项 | 说明 | | --- | --- | | 🖥️ 服务器 | 承载 Bot、API、数据库与状态监控 | | 🌐 域名与证书 | 各服务域名的年度续费与 SSL 证书 | | 📡 监控节点 | 状态站的多线路探测节点(上海移动 / 电信 / 联通) | | 🚀 CDN 与带宽 | 静态资源分发、谱面与图片加速 | | 🔧 第三方服务 | 对象存储、图像识别等按量计费接口 | | 💛 公益捐赠 | 赞助收入的一部分,用于回馈社会,记录见 [AWMC 公益板块](https://bbs.wmc.pub/forums/awmc.16/) | ::: tip 你的支持,会转个弯回到大家身边 每一笔赞助,都不只养活着服务器。 AWMC 会把赞助收入的一部分用于**公益捐赠** —— 让这份支持,换个方式回到更需要它的地方。:heart: ::: ## 🎁 社区福利(Milk 自掏腰包,不走赞助) 赞助之外,Milk 还会**自掏腰包**办福利 —— **每月抽奖**、小游戏活动,全在论坛。 这些**不从赞助收入里出**。所以别客气,先来玩再说~ 👉 [前往 AWMC 福利姬板块](https://bbs.wmc.pub/forums/awmc.18/) 参与抽奖与活动 ## 🤖 在 Bot 里查看赞助榜 在 AWMC Bot 中发送: ```text 赞助 ``` 别名:`赞助榜`、`本月赞助`。 Bot 会读取爱发电开放数据,生成**当前自然月**的赞助榜,展示本月赞助者的昵称与排名 (🥇 / 🥈 / 🥉),金额默认隐藏,避免公开攀比。管理员可通过 `BREAK配置 sponsor_show_amount 1` 开启金额显示。 ::: tip 说明 赞助榜来自爱发电公开订单数据,只统计当月已成功的赞助记录;没有数据时 Bot 会提示 「本月还没有公开赞助记录~」。 ::: ::: warning 赞助后想留名? 由于订单较多,赞助后如果需要出现在赞助名单中,请**携带爱发电订单号**在 [AWMC BBS 赞助名单帖](https://awmc.cc/threads/91/post-267) 下回复。 ::: ## 赞助名单 所有赞助者的名单会在 [AWMC BBS 赞助名单帖](https://awmc.cc/threads/91/post-267) 中永久展示,排名不分先后。 感谢每一位支持过 AWMC 的朋友 —— 无论金额大小 :heart: ## 其他支持方式 赞助不是唯一的支持方式,以下同样珍贵: * 🐛 **提交 Bug** —— 遇到问题请在 [GitHub](https://github.com/AWMC-TEAM/awmc-wiki) 提 Issue * 📝 **完善文档** —— 每页右上角都有「在 GitHub 上编辑此页」 * 🔌 **开发插件** —— 基于[开放 API](/dev/) 做你自己的工具 * 📢 **告诉朋友** —— 把 AWMC 分享给更多舞萌玩家 * 💬 **加入社区** —— QQ 交流群:[1 群 `1072033605`(主群)](https://qm.qq.com/q/Gj3QmfEyY0) · [2 群 `993795066`(游戏)](https://qm.qq.com/q/PF5t1VXPi0) · [群规](/guide/group-rules) ## 相关链接 * [舞萌状态站(社区)](https://mai.chongxi.us) | [服务状态页](https://up.wmc.pub) * [开发指南](/dev/) | [快速开始](/guide/getting-started) * 联系我们:3801477277@qq.com,也可以在[论坛联系我们页](https://bbs.wmc.pub/misc/contact)留言 *** 感谢您对 AWMC 的喜爱 ❤️ 求求你们嘛 喵呜咕噜咕噜~ --- --- url: https://wiki.awmc.team/guide/bot/botstatus.md --- # 运行状态自检 当前服务状态: 发送 `botstatus`(别名 `bot状态`、`机器人状态`、`自检`)即可生成一张 Bot 运行状态图, 用于在「Bot 没反应 / 回复很慢」时快速判断是 Bot 本身、网络链路,还是上游服务出了问题。 维护模式期间其他功能会暂停,但 `botstatus` 和 `状态页` 仍可正常使用,方便随时查看维护进度。 ![botstatus 示例](/images/botstatus-demo.png) ::: tip 示例说明 上图为示例数据,实际数值以 Bot 发送的图片为准。网络探测结果缓存 30 秒, 短时间内重复发送不会重复请求外部服务。 ::: ## 状态图包含什么 ### 运行概览 顶部胶囊汇总整体结论: | 胶囊 | 含义 | |---|---| | 🟢 全部系统运行正常 | 所有已启用的探测都连通,状态页无异常 | | 🟡 部分服务响应缓慢 | 有探测耗时超过 1.5 秒,或状态页报告性能下降 / 维护 | | 🔴 N 项服务连接异常 | 有探测超时、连接失败或返回 5xx | 下方 8 个指标卡: | 指标 | 说明 | |---|---| | 进程 CPU | Bot 进程近 10 秒的 CPU 占用(多核下可超过 100%) | | 进程内存 | Bot 进程常驻内存,以及当前线程数 | | 系统内存 | 服务器整体内存使用率 | | 系统负载 | 1 / 5 / 15 分钟平均负载 | | 事件循环延迟 | 消息分发主循环的滞后时间;持续偏高说明 Bot 正在被阻塞,消息会「卡住后一起发」 | | 回复耗时 P50 / P95 | 最近 500 条回复从收到消息到提交 QQ 网关的耗时中位数 / 95 分位 | | 已运行 | 本次启动至今的时长 | | 网络自检 | 连通的探测项 / 已启用的探测项 | 指标卡左侧色条:绿色正常、橙色偏高、红色异常、灰色暂无数据(刚启动时需采样约 10 秒)。 ### 今日消息 * **收到消息**:今日 00:00 起 Bot 收到的消息事件数(群聊 + 私聊)。 * **发出消息**:今日 Bot 成功发出的消息数(含文字、图片、文件)。 * **最忙时段**:今日收发总量最高的小时。 * **较昨日同期**:与昨天同一时间点之前的收发总量相比。 * **24 小时分布**:蓝色为收到、深色为发出,标出「现在」所在小时。 * **近 7 日收发总量**:每日收发合计,最右侧高亮为今天。 统计每分钟落盘一次,Bot 重启后会接续当天数据,保留最近 14 天。 ### 网络自检 Bot 会并发探测下列服务,单项超时 5 秒: | 探测项 | 分组 | 影响的功能 | |---|---|---| | BREAK 数据库 | 内部 | 签到、BREAK 计费、卡密、转账 | | AWMC API | 内部 | 发票、账号预览、成绩 / 道具写入等账号功能 | | AWMCNET | 内部 | AWMCNET 成绩同步 | | AWMC 论坛 | 内部 | `qbind` 论坛 OAuth 绑定 | | WMC API | 内部 | WMC 相关查询 | | 状态页 | 内部 | 自动维护模式联动 | | 水鱼查分器 | 外部 | 水鱼 B50、成绩查询与上传 | | 落雪查分器 | 外部 | 落雪 B50、落雪上传 | | 别名服务器 | 外部 | 曲目别名查询与同步 | | QQ 开放平台 | 外部 | 官方 QQ 机器人收发消息 | 右侧显示往返耗时;`超时`、`HTTP 5xx` 或异常名表示该服务当前不可用,显示「未启用」表示该部署没有配置这项服务。 探测只发起轻量请求,不会读取或修改任何账号数据。 ### AWMC 服务状态页 图片底部同步显示 [up.wmc.pub](https://up.wmc.pub)(由 FlashCat 提供)的整体状态、 进行中的故障 / 维护及计划维护。状态页发布 Bot 维护时,Bot 会自动进入维护模式, 详见 `状态页` 指令。本 Wiki 顶部也会在有故障或维护时显示同样的横幅提示。 ## 常见判断 * **网络自检全绿、事件循环延迟很高**:Bot 进程繁忙,稍等片刻或联系管理员。 * **某个外部查分器红了**:对应的 B50 / 上传暂时不可用,可换另一个数据源。 * **AWMC API 红了**:账号类功能(发票、写入)暂停,请勿反复重试。 * **全部正常但仍不回复**:可能是 QQ 官方网关限流,或你有一个账号流程正在处理中(如发票),等它结束再试。 遇到持续异常时,请把状态图发到交流群反馈。 --- --- url: https://wiki.awmc.team/dev/quota.md --- # 配额与限流 AWMC API 对有 Token 消耗的接口提供**个人 + 全站**双层配额。窗口为 **15 分钟、1 小时、5 小时**,且每个窗口从该窗口的**第一次成功请求**开始计时。配额按**成功请求次数**累计(失败请求不占额度): * **读取**:查询用户数据、成绩、票券、道具和 Gate 状态等,默认额度相对更高。 * **写入**:`upsert`、删除、清空以及 `POST /v1/charge` 购买票券等发送性质操作。 * `POST /v1/update-lx` 与 `POST /v1/update-fish` 用于读取并同步外部成绩结果,按读取额度计算。 ## 超限响应 超限返回 HTTP `429`,同时带有 `Retry-After`(秒)和 `X-Quota-Reset`(ISO 时间)响应头: ```json { "error": "quota_exceeded", "msg": "Reached Personal 1-Hour Quota Limit for Read requests. You may continue request after 2026-08-06 23:06:26 Beijing Time (UTC+8). If you want a higher quota, please get in touch on us https://bbs.wmc.pub.", "retryAfterSeconds": 1800, "quota": { "scope": "Personal", "category": "read", "window": "1h", "limit": 50, "used": 118, "requested": 4, "resetAt": "2026-08-06T15:06:26.000Z", "retryAtBeijing": "2026-08-06 23:06:26", "timeZone": "Asia/Shanghai" } } ``` 客户端应等待 `retryAfterSeconds` 或 `quota.resetAt` 后再重试,而不是立即循环请求。 ## 查询当前配额 已登录用户可调用 `GET /me/quota`(`GET /quota` 为兼容别名): ```bash curl https://api.wmc.pub/me/quota \ -H 'Authorization: Bearer ' ``` 返回 `windows.read` 与 `windows.write` 数组,每一项包含 `scope`、`window`、`limit`、`used`、`remaining`、`startedAt`、`resetAt`。尚未发起请求的窗口会显示 `startedAt: null`。 ## 管理员设置 控制台的「配额与错误」页面可以修改: * 保守、正常、宽松、自适应、自定义五种模式。保守/正常/宽松倍率为基准值的 50% / 100% / 150%。自适应根据近 30 分钟服务器内部错误率在保守与宽松之间调节。 * 个人与全站 read/write 三种窗口的 Token 基准值。 * 全站限制开关与全站窗口倍率(0.25–4 倍)。 「用户管理」的编辑窗口可以为单个用户设置六个 read/write 覆盖值,留空即跟随默认值,并可勾选「绕过全站配额」。个人配额仍然生效。 ## 服务器内部错误 管理员页面提供近 7 天、30 分钟粒度的服务器内部错误图表。`httpStatus = 0`(转发异常)或 HTTP `>= 500` 均计入服务器内部错误,可用来定位错误发生的时间区间并选择合适的调节模式。