Skip to content

Latest commit

 

History

698 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Seira

Seira 是一个提供 osu! 成绩查询的 QQ 机器人。 支持生成最好成绩图、最近成绩图、排行榜等,持续更新中...

Seira 依赖 oStella 作为上游数据服务。

详细使用文档在这里~

添加机器人

扫描下面的二维码添加机器人↓

Image_1777528636326_363

注意事项

Seira正在活跃开发中,在使用的过程中可能会有一些Bug,也会有维护的情况发生🥹

如果使用过程中遇到了问题,或是有功能建议,欢迎Issue & PR 🥰

另外,由于QQ机器人最近正在进行业务调整,部分功能可能会不稳定或暂时不可用

Seira 能干什么?

查询最好成绩!

image image

查询谱面、谱面集、分数信息!

image image image

分析成绩!

image image

玩猜 Rank!

image

查询群友的排行榜!

image

渲染成绩回放视频!

不论是单人回放...

image

还是群友的同屏回放!

image

常用命令

所有命令都以 / 开头。指令详情请见文档。

命令 用法 结果
/bind /bind 开始osu账号绑定流程
/unbind /unbind 解除当前用户的osu账号绑定
/clearhistory /clearhistory 清除当前用户在群聊中的记录
/f /f 获取好友列表
/fall /fall 获取全部好友列表
/fclear /fclear 清除好友记录
/bp /bp [n/a-b] [uid/username/@user] [filters...] 获取最多200条最好成绩或指定范围后过滤;省略数量时返回第一个匹配成绩详情
/rs /rs [n/a-b] [uid/username/@user] [filters...] 获取最多200条最近成绩或指定范围后过滤;省略数量时返回第一个匹配成绩详情
/rp /rp [n/a-b] [uid/username/@user] [filters...] 获取最多200条最近通过成绩或指定范围后过滤;省略数量时返回第一个匹配成绩详情
/tb /tb [#days] [uid/username/@user] 获取近N天达成的BP(默认1天),并保留完整BP排名编号
/m /m <id/rsN/bpN> [Mod] 获取指定谱面信息
/ap /ap <id/rsN/bpN> 获取指定谱面音频预览
/bgp /bgp <id/rsN/bpN> 获取指定谱面背景预览
/s /s <id/locId/rsN/bpN> 获取指定的在线或本地成绩图
/sa /sa <id/locId/rsN/bpN> 获取指定成绩分析图
/ma /ma [id/locId/rsN/bpN] [n/#n] 获取指定或最近目标成绩的Miss分析;省略目标时用#n指定Miss
/u /u [uid/username/@user] 获取指定用户信息
/@ /@[someone] 获取自己或指定用户的文字版信息
/r /r [id/locId/rsN/bpN] [[mm:ss]-[mm:ss]] 生成并发送指定或最近目标的回放视频。省略范围时自动识别高光,使用-渲染整个回放
/rg /rg <start/group/#Rank/end/wish/stats [all]/lb [all]> 猜 Rank 游戏及个人战绩查询
/rsc /rsc [id/locId/rsN/bpN] [+<id1>,<id2>...] 生成并发送指定或最近目标的成绩同屏回放视频;追加用户和范围顺序不限
/rstat /rstat [id] 获取视频生成进度
/rcancel /rcancel <id> 取消排队中、渲染中或上传中的回放任务
/ms /ms <id/rsN/bpN> 获取指定谱面集信息
/dl /dl <id/rsN/bpN/mp> 获取指定谱面集的镜像下载链接
/sms /sms <query> 搜索谱面集
/lb /lb [id] [<uid1>,<uid2>...] 列出指定谱面排行或表现分排行
/daily /daily 每日挑战信息
/roll /roll [dice] 掷骰子
/luck /luck 今日人品
/rbp /rbp [uid/username/@user] 获取随机BP
/mp /mp 多人房间列表
/watch /watch add/del/list [目标] 添加/删除/列出监视任务
/mpwatch /mpwatch start/stop/status [目标] 按群成员添加、停止或查看多人房间监视;stop all 可停止本群全部监视
/romai /romai [目标] 开始监视自己或目标正在进行的RomAI比赛
/mc /mc <服务器地址> 获取指定MC服务器状态
/ai /ai [on/off/reset/reset all] 开启/关闭/重置本群的AI对话
/wx /wx start <UID列表> <谱面ID列表> / /wx stop 监视指定玩家在指定谱面取得的成绩,重启后自动恢复
/dcs /dcs start <guild-id>.<channel-id> / /dcs stop 开启或解除当前 QQ 群与 Discord 频道的双向消息同步
/stat /stat 服务状态和统计信息文本
/inspect /inspect 获取当前上下文信息
/help /help 显示帮助信息

部分指令会先回复“请求已加入队列,预计等待时间 X 秒”,待异步请求完成后再额外发送结果消息。

/r和/rsc(回放渲染)会先返回“生成请求正在等待中,队列位置:N”,随后返回请求状态,最后在渲染完成后再发送回放视频。

上传 osu! 服务器上不存在的 .osr 回放后,机器人会返回形如 loc123456789 的本地成绩ID;该ID可用于 /s、/sa、/ma、/r、 /rsc 等成绩目标指令。

快捷查询

对于一些需要指定谱面ID或成绩ID的指令(如 /m、/s、/ms 等),支持快捷查询写法,格式为 rs5、bp3、rp2。

快捷查询也可以直接作为指令使用,并在后面指定玩家,例如 /bp5 @用户;紧凑写法同样支持列表范围,例如 /bp21-30、 /rp6-10 @用户。

这些指令会共享最近一次显式指定的查询目标。已有最近目标时,/r、/rsc、/ma 可以省略目标,例如 /r 01:00-01:30、 /rsc +12345,67890 -、/ma #2。

也可以在前面写上玩家ID、用户名或@用户,例如 123456 rs5、peppy bp3、@ABC bp3,表示查询指定玩家的最近成绩第 5 条或最好成绩第 3 条。

  • rs5:使用你已绑定的玩家ID,查询“最近成绩第 5 条”
  • rp1:使用你已绑定的玩家ID,查询“最近通过成绩第 1 条”
  • bp3:使用你已绑定的玩家ID,查询“最好成绩第 3 条”
  • 12345 rs1:使用12345作为玩家ID,查询“最近成绩第 1 条”
  • peppy rs1:先按用户名查找玩家ID,再查询“最近成绩第 1 条”
  • @ABC rs1:使用ABC绑定的用户的ID作为玩家ID,查询“最近成绩第 1 条”

省略玩家目标时,使用快捷查询前需要先执行 /bind,否则会提示无法使用快捷查询。

回放上传

你可以在私聊中直接发送你的回放文件,Seira会将其转存。 这样就可以对未上传到osu!服务器的回放进行分析了。

调试命令

Warning

警告:危险区域!

以下命令仅用于调试,使用不当可能会造成数据丢失、账号封禁等后果,且仅在调试模式启用且发送者为bpt管理员的情况下可用。

这些指令可能会随时进行添加、修改或删除,且不保证向后兼容。

命令 结果
/debug.upload <type> <cos> <url> 上传指定文件
/debug.test 发送一段测试文本
/debug.message <base64> 将指定Base64解码并作为Markdown消息发出
/debug.db <sql> 对后端数据库执行指定的SQL语句
/debug.update-user-info 更新数据库中所有玩家的信息
/debug.active-message 发送一条主动消息

自行部署

Note

此节仅面向想自行部署 Seira 的用户。 若想直接使用,请见使用指南

1) 准备环境

  • JDK 25
  • Maven
  • QQ 开放平台机器人应用凭据
  • 一个可访问的 oStella API

2) 配置 config.yml

启动程序时,若不存在config.yml则会自动创建。请根据提示编辑 config.yml。 默认配置参见seira-example-config.yml

3) 启动

mvn -U clean compile exec:java

About

osu!查分机器人

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages