Skip to content

目标与快捷查询 ​

很多指令都需要一个“目标”。目标可以是成绩 ID、谱面 ID、谱面集 ID,也可以是根据某位玩家最近或最好成绩推导出的快捷查询。

玩家目标 ​

需要玩家的指令(/bo、/rs、/rp、/tb、/u)接受:

写法示例说明
osu! UID124493必须是正整数
osu! 用户名peppySeira 会先尝试解析用户名对应的 osu! UID
QQ @用户@某人输入对方名字后手动点击弹出列表,或长按对方头像时使用的QQ@。会使用对方绑定的 UID,需要群主开启获取所有消息权限
@用户名@peppy直接手动输入的用户名,非QQ的@,会直接使用输入的用户名作为目标。
省略/bo 5使用发送者通过 /bind 绑定的 UID

/bo、/rs、/rp 的多条查询把数量放在玩家前面,例如 /rs 5 peppy,不是 /rs peppy 5。/tb 同样把天数放在玩家前面,并使用 #N 格式,例如 /tb #7 peppy。

成绩快捷查询 ​

写法含义
rs / rs1最近成绩第 1 条,包含失败
rs5最近成绩第 5 条,包含失败
rp2最近通过成绩第 2 条
bo3 / bp3最好成绩第 3 条
rbp随机BP

快捷索引必须在 1 到 200 之间。省略索引时默认为 1。

快捷查询也可以直接作为整条指令发送:

text
/rs5
/bo3

Seira 会把它们自动识别为 /s rs5 和 /s bo3,得到单条成绩详情。

为快捷查询指定玩家 ​

在支持目标解析的指令中,可把 UID、用户名或 @用户放在快捷查询前:

text
/s 124493 rs2
/m peppy bo1
/sa @某人 rp3

前两个参数会共同组成目标。若只有 rs2,则使用你自己的绑定 UID。

谱面和谱面集目标 ​

除了纯数字 ID,解析器还支持以下形式:

写法含义常见用途
m123456明确表示谱面 ID 123456/m、/lb 等
12345#2谱面集 12345 的第 2 个难度/m、/s、/ms 等
mp当前绑定用户所在多人房间的谱面/m、/dl 等
rs5、rp2、bo3对应成绩使用的谱面、谱面集或成绩由具体指令决定

纯数字目标的含义由指令决定:/s 123 把它当作成绩 ID,/m 123 把它当作谱面 ID,/ms 123 和 /dl 123 把它当作谱面集 ID。

最近目标 ​

/m、/ap、/bpv、/bgp、/s、/sa、/ms、/dl、/ma、/r、/rsc 会共享当前进程内“该发送者最近指定的目标”。

text
/s rs3
/sa
/ma
/r 01:00-01:30

这里后三条都会继续使用 rs3。仅当指令显式解析了新目标时,目标才会更新。

最近目标不是永久历史

最近目标只保存在 Seira 进程内存中,并按发送者区分。机器人重启后会丢失。

常见错误 ​

  • “你还没有绑定玩家ID”:先使用 /bind,或显式提供 UID/用户名。
  • “快捷指令索引无效”:索引必须为 1–200。
  • “参数无效”:确认使用正整数 ID,或合法的 rsN、rpN、boN、mID、谱面集ID#序号。
  • “被@的用户还没有绑定”:让对方先 /bind,或直接输入对方 osu! UID。

Seira is under MIT License