wimiserver 指令手册
基于 src/index.ts 整理,按使用范围分组。📋 指令速查表
🟢 普通指令(群成员可用)
| 指令 | 说明 | 权限 | 使用范围 |
|---|---|---|---|
地图列表 [服务器] | 获取服务器地图列表 | 所有人 | 仅 L4D2Group 群 |
地图 <代码/名称> [服务器] | 查询地图建图代码(战役/对抗/生还) | 所有人 | 仅 L4D2Group 群 |
服务器 [服务器] | 查询服务器实时状态 | 所有人 | 仅 L4D2Group 群 |
网盘 <地图名称> [服务器] | 获取地图网盘下载链接 | 所有人 | 仅 L4D2Group 群 |
游戏介绍 <游戏名> | AI 用可爱语气介绍游戏 | 所有人 | 全局 |
图片 <比例> [冗余值] | 按比例随机返回本地图片 | 所有人 | 全局 |
创意工坊 <ID或链接> | 查询 Steam 创意工坊模组详情 | 所有人 | 全局 |
🔴 管理员指令(仅 Admins 可用)
| 指令 | 说明 | 权限 | 使用范围 |
|---|---|---|---|
切图 <服务器> <地图编号/名称> [关卡] [模式] | 切换服务器当前地图 | 管理员 | 仅 L4D2Group 群 |
更新地图 <mapname> | 强制更新指定地图 | 管理员 | 仅 L4D2Group 群 |
删除网盘地图文件 <file> [服务器] | 删除网盘中的地图文件 | 管理员 | 仅 L4D2Group 群 |
删除服务器地图 <代码/名称> [服务器] | 删除服务器上的地图 | 管理员 | 仅 L4D2Group 群 |
放地图 <服务器> <地图列表> | 部署地图(自动同步至群文件) | 管理员 | 仅 L4D2Group 群 |
获取模组 <平台> <ID> <类型> <别名> | 通过 ID 抓取模组到网盘 | 管理员 | 仅 L4D2Group 群 |
清理服务器地图 [服务器] | 清理服务器地图 | 管理员 | 仅 L4D2Group 群 |
重启服务器 [服务器] | 重启指定服务器 | 管理员 | 仅 L4D2Group 群 |
steam绑定 <SteamID/链接> <@用户> | 绑定用户 Steam 账户 | 管理员 | 私聊 |
分析 <日期> <时间> [服务器] [提示词] [玩家] | AI 对局数据分析 | 管理员 | 全局 |
⚙️ 触发器与定时任务
| 触发条件 | 行为 |
|---|---|
| 群公告包含「开黑信息」 | 自动解析公告中的服务器、时间、地图并建队 |
| 群消息以「上传」开头 + 文件 | 上传地图文件到服务器(可附带分类和别名) |
群消息含 steamcommunity.com/sharedfiles 链接 | 自动识别创意工坊 ID 并返回模组详情(带 CD) |
| Bot 被戳一戳(notice) | AI 用猫娘语气回复 |
| 每日 04:00 cron | 每日随机地图推送 |
| 每日 02:00 cron | 每日地图更新推送 |
| 每日 05:00 cron | Pixiv 推荐 R18 抓取 |
| 每 30 分钟 cron | Pixiv 普通推荐抓取 |
🟢 普通指令详解
1. 地图列表 <server>
- 用途:获取服务器地图列表(含官图、常驻、自定义图)
- 参数:
server可选,默认使用ServerName[0] - 返回:地图编号 + 名称列表
- 注意:必须先调用此指令缓存地图列表后才能使用
地图和删除服务器地图
2. 地图 <code> <server>
- 用途:根据地图编号或中文名称查询战役/对抗/生还模式的建图代码
参数:
code:地图编号或中文名(必填)server:服务器名(可选,默认ServerName[0])
- 依赖:必须先执行
地图列表
3. 服务器 <server>
- 用途:查看服务器当前在线人数、地图、模式、玩家列表(按时长排序)
4. 网盘 <mapname> <server>
- 用途:获取网盘地图的临时下载链接
- 返回:文件名、大小、下载链接(500ms 后发送)
5. 游戏介绍 <gamename>
- 用途:调用 AI 用可爱语气介绍游戏,含多人/联机方式
6. 图片 <targetRatiostr> <tolerancestr>
- 用途:从
E:\Dev\wi-mi-server-api\FastAPI_1\...\Images\随机抽取符合比例的图片 参数:
targetRatiostr:目标比例(如9/16)tolerancestr:宽高冗余值,默认 200
7. 创意工坊 <id>
- 用途:查询 Steam 创意工坊模组
- 参数:支持完整链接或纯数字 ID
- 返回:模组名称、游戏、文件名、大小、浏览/订阅/收藏数、创建/更新时间、下载地址、配图
🔴 管理员指令详解
1. 切图 <server:string> <mapnumber:string> <level:string> <mods:string>
- 格式:
切图 服务器名 地图编号/中文名 关卡 模式 - 模式:战役 / 对抗 / 生还(默认
战役) - 关卡:默认
1 - 依赖:必须先执行
地图列表
2. 更新地图 <mapname>
- 用途:检查并强制更新指定地图
- 返回:地图更新状态、原更新时间、最新更新时间
- 注意:接口可能耗时较长(超时 120 分钟)
3. 删除网盘地图文件 <file:string> <server>
- 用途:删除网盘中的指定地图文件
4. 删除服务器地图 <code:string> <server>
- 用途:删除服务器上的指定地图
- 依赖:必须先执行
地图列表
5. 放地图 <server> <maps>
- 用途:部署一个或多个地图到服务器(多张用逗号分隔)
- 附加:自动将所需 MOD 文件上传到当前群文件
流程:
- 检查本地/网盘/服务器状态
- 上传缺失的 MOD 到群文件(自动跳过已存在,失败重试 3 次)
6. 获取模组 <platform> <id> <type> <alias>
- 平台:
steam/steam创意工坊/gamemaps - 类型:必须在
Updata配置项中 - 别名:自定义显示名
- 用途:从指定平台抓取模组到网盘
7. 清理服务器地图 <server>
- 用途:清理服务器当前加载的地图
8. 重启服务器 <server>
- 用途:通过 RCON 重启指定服务器
9. steam绑定 <id> <userId:user>
- 用途:将用户与 Steam 账户绑定到数据库(
steambinding表) - 输入:支持 SteamID64 或个人资料链接
10. 分析 <date:string> <time:string> <server:string> <prompt:string> <player:string>
- 日期:支持
今天/明天/昨天/4-17/04-17/4月17日 - 时间:支持
17/17:30/17:30:00/17点30/17-30 - 服务器:默认
ServerName[0] 提示词:
默认:使用默认提示词毒舌:使用犀利毒舌风格- 其他:自定义提示词
- 玩家:可选,筛选指定玩家
- 返回:AI 生成的赛后分析图片
⚙️ 触发器详解
群公告自动建队
发送群公告时若公告中包含「开黑信息」字样,会自动解析以下字段:
服务器:xxx预计开始时间:xx 分地图:xxx, xxx
并调用 setgameteam 接口创建对局。结果会推送到群内。
「上传」指令(管理员限定)
- 格式:
上传 <分类> [别名]+ 文件 - 文件可直接附带或引用(回复)一条带文件的消息
- 分类必须在
Updata配置项中 - 别名缺省时使用文件名
创意工坊链接自动识别
- 消息中只要含
https://steamcommunity.com/sharedfiles/...链接即自动解析 - 每群每 ID 有
SteamWorkshopCOOLDOWN秒冷却(默认配置项)
notice 事件
- 当 bot 用户被戳一戳时,由 AI 用猫娘语气回复
📝 配置项说明
| 字段 | 说明 |
|---|---|
SelfId | 已登录的机器人 ID |
ServerAddr | 后端 API 地址 |
ServerName | 服务器名称数组 |
ServerTokenApi | API 鉴权 Token |
Errorat | 出错时 @ 的用户 ID |
L4D2Group | 支持 L4D2 指令的群列表 |
Updata | 允许的地图分类 |
Admins | 管理员用户 ID 列表 |
InfoGroup | 信息推送群列表 |
RandomMapSum | 每日随机地图数量 |
SteamWorkshopCOOLDOWN | 创意工坊查询冷却秒数 |



































































































































