Skip to main content

一个简单的舞萌成绩查询Bot插件,同时支持落雪咖啡屋和水鱼查分器

Project description

image

Nonebot-Plugin-Rikka

一个简单的 NoneBot2 舞萌查询成绩插件

Stars PyPI Version PyPI Downloads nonebot2 codestyle QQ Group

[!NOTE]

本项目进入慢更新状态,但是您仍然可以提出新的特性请求

介绍✨

基于 Nonebot2 的舞萌DX的查分插件

看板娘: Rikka

功能🪄

✅ 支持游戏: 舞萌DX(Ver.CN 1.53+), 中二节奏(Not Plan yet.)

✅ 支持数据源: 落雪咖啡屋, 水鱼查分器

✅ 支持功能:

  • 基础查分功能:Best 50, Recent 50, 指定条件下的乐曲列表,牌子进度等...
  • 曲目信息查询:包括但不限于拟合系数和乐曲标签(乐曲标签需要额外配置实现)
  • 玄学功能实现:今日运势、计算推分推荐、玩家成分分析
  • 自定义成绩图:自定义背景图、字体等
  • 更新水鱼查分器

指令列表🕹️

带有🚧标志的指令暂不可用或仍在开发中

指令 说明
.bind lxns|divingfish [查分器相关]绑定游戏账号/查分器
.unbind lxns|divingfish|all [查分器相关]解绑游戏账号/查分器
.source lxns|divingfish [查分器相关]设置默认查分器
.b50 [舞萌DX]生成玩家 Best50
.r50 [舞萌DX]生成玩家 Recent 50(需绑定落雪查分器)
.n50 [舞萌DX]获取玩家拟合系数 Top-50
.ap50 [舞萌DX]生成玩家 ALL PERFECT 50
.pc50 [舞萌DX]生成玩家游玩次数 Top50
.minfo <id|乐曲名称|别名> [舞萌DX]获取乐曲信息
.random [舞萌DX]随机获取一首乐曲
.alias add <song_id> <别名> [舞萌DX]添加乐曲别名(不会被 update 操作覆盖)
.alias update [舞萌DX]从落雪查分器更新乐曲别名数据库
.alias query <id|乐曲名称|别名> [舞萌DX]查询该歌曲有什么别名
.score <id|乐曲名称|别名> [舞萌DX]获取玩家游玩该乐曲的成绩
.scorelist <level|achXX.X> [舞萌DX]获取玩家对应等级/达成率的成绩列表
.update songs|alias [舞萌DX]更新乐曲或别名数据库
.今日舞萌 [舞萌DX]获取今日舞萌运势
.成分分析 [舞萌DX]获取基于 B100 的玩家成分分析
.舞萌状态 [舞萌DX]获取舞萌服务器状态
.推分推荐 [舞萌DX]生成随机推分曲目
.trend <周期> <simple|detailed> [舞萌DX]获取玩家的 DX Rating 趋势 (需绑定落雪查分器)
.import <玩家二维码> [舞萌DX]导入玩家 PC 数信息
.import divingfish <玩家二维码> [舞萌DX]更新水鱼查分器

*所有指令需 @bot 才可使用

安装🪄

你需要一个 Nonebot 项目环境,参考:快速上手

  1. 安装 nonebot-plugin-rikka:

使用 nb-cli 安装(pending):

nb plugin install nonebot-plugin-rikka

使用包管理器安装:

pip install nonebot-plugin-rikka

在 NoneBot 的项目配置文件中追加:

plugins = ["nonebot_plugin_rikka"]
  1. 获取静态资源文件: 本项目的渲染资源使用到了 Yuri-YuzuChaN/maimaiDX 提供到的文件。 从 私人云盘, OneDrive 中下载静态资源文件,并解压到机器人根目录下的 static 文件夹中。 如果服务器更新了新歌但是本地不存在对应的资源文件时,插件会自动获取更新。参考第四小节。

  2. 配置查分器开发者密钥,参考配置小节获取配置文件格式。你至少需要配置 落雪咖啡屋(未绑定的首选), 水鱼查分器 任意一个开发者密钥才可正常使用插件功能。

  3. 运行 python -m playwright install chromium 来安装 playwright 浏览器环境,用于模拟浏览器请求游戏资源和获取舞萌状态页截图。

  4. 启动 Nonebot 项目并根据提示运行数据库迁移脚本

  5. 更新乐曲信息: 使用 SUPERUSER 账号执行指令: .update songs(更新本地乐曲信息), .update alias(更新乐曲别名), .update chart(更新乐曲拟合系数等信息)。 当服务器更新了新歌时建议再跑一次上面的三个指令。

  6. (可选)如果需要支持乐曲标签,您需要自行获取来自 DXRatingcombined_tags.json 并放置在 static 文件夹中

配置⚙️

使用 .env 文件中配置以下内容

配置项 说明 类型 默认值
add_alias_need_admin 添加别名需要管理员权限 bool True
static_resource_path 自定义静态资源路径(该目录下至少存在 mai 文件夹) str static
lxns_developer_api_key 落雪咖啡屋开发者密钥(两个开发者密钥二选一) Optional[str] None
divingfish_developer_api_key 水鱼查分器开发者密钥 Optional[str] None
enable_arcade_provider 启用 Maimai.py 的机台源查询(需要将此值设置为 True 才可以查询 PC 数) bool False
maistatus_url 舞萌状态页地址,用于渲染 .maistatus Optional[str] https://status.snowy.moe/status/maimai
scorelist_bg 成绩图背景,建议比例 8:7 Optional[str] None
scorelist_font_main 成绩图主字体文件 Optional[str] None
scorelist_font_color 成绩图默认文字颜色 tuple[int, int, int, int] (124, 129, 255, 255)
scorelist_font_num 成绩图数字字体文件 Optional[str] None
scorelist_element_opacity 成绩图元素不透明度(0.0 ~ 1.0) float 1.0

有关 enable_arcade_provider 的说明: 部分功能需要连接至游戏服务器才可使用(比如 PC 数获取和水鱼查分器更新),但由于服务器对机房 IP 做出了限制,在部分网络环境下无法与官方服务器通信(使用 .status 命令以确认),因此此配置项默认为 False 并禁用相关功能。

关于🎗️

本项目基于 MIT License 许可证提供,涉及到再分发时请保留许可文件的副本。除此之外,另有 Yuri-YuzuChaN/maimaiDX 的许可证副本 License

本项目的产生离不开下列开发者的支持,感谢你们的贡献:

Rikka 的贡献者们

本项目的渲染逻辑 (painters) 和资源修改或引用自 Yuri-YuzuChaN/maimaiDX,感谢上游项目的代码实现和游戏资源整理

本项目的分数查询功能基于 TrueRou/maimai.py 提供的框架进行开发。

本项目同样是 MuikaAI 的一部分

afadian

免责声明:

部分服务需要连接至游戏服务器,开发者未使用软件逆向等数据和工具对任何游戏文件进行分析。本服务可能存在未知的逻辑错误,可能会导致潜在的风险如数据丢失、系统崩溃等,由用户自行决定是否下载、使用本服务。如果启用了 enable_arcade_provider 并使用了相关服务,则说明您已同意这一点。

Star History:

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_rikka-1.0.5.tar.gz (77.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_rikka-1.0.5-py3-none-any.whl (97.4 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_rikka-1.0.5.tar.gz.

File metadata

  • Download URL: nonebot_plugin_rikka-1.0.5.tar.gz
  • Upload date:
  • Size: 77.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.26.8 CPython/3.14.4 Linux/6.17.0-1010-azure

File hashes

Hashes for nonebot_plugin_rikka-1.0.5.tar.gz
Algorithm Hash digest
SHA256 c559f3570999380c93272e3eea02c939623de4fab67f7616e28b413a839d8b49
MD5 d2364f44847536eef4d611ee8d432465
BLAKE2b-256 71ccfd9e692146988e8e02786a2bd7364d3516fb3ce8147a317f3c7155033462

See more details on using hashes here.

File details

Details for the file nonebot_plugin_rikka-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: nonebot_plugin_rikka-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 97.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.26.8 CPython/3.14.4 Linux/6.17.0-1010-azure

File hashes

Hashes for nonebot_plugin_rikka-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f9d164862df9fd0a55777b188abb38d448f1e83f41d891b5ae00c6f289f84f5e
MD5 e316f6d86d9e606112f379c9faf116a3
BLAKE2b-256 f43c00ec52a5d9ddc02c198a8430a3007d4f93526eeed37ee167d2ed28475cd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page