An arcaea rhythm game score-querying bot plugin for nonebot2.
Project description
nonebot-plugin-arcaea
功能 Resume
Arcaea 查分器,可以实现 best30
| recent
| songinfo
之类的查询功能
特点 Feature
-
不配置的情况下也可使用
b30
|recent
功能,默认配置下使用 estertion 维护的公开源作为查分来源 -
API 可拓展性,只需编写额外的 Adapter
-
查分灵活性,可以为每个查分命令配置查分的源,见 配置项
-
以图片形式返回
b30
|recent
-
抽象类为图片主题的编写提供了接口,只需要编写一个包并贡献至
messages/themes/pkgs
便可使用对应的图片主题,见 开发一个主题 -
config
命令允许用户设置自己查分的主题 -
为来自 BotArcAPI 搭建的 API 做了适配
-
handler
分离式设计,增加对命令处理的灵活性
快速开始 Quickstart
注意
-
由于使用了 shell_like command,使用前请保证
nonebot2
处于 v2a9 以上的版本 -
安装插件
(activate your virtualenv)
pip install nonebot-plugin-arcaea
或者
git clone https://github.com/iyume/nonebot-plugin-arcaea
activate your virtualenv
(cd ~/path/to/nonebot-plugin-arcaea && pip install .)
如果你使用的是 nb plugin install
,此时 bot.py
会自动插入 nonebot.load_plugin('nonebot_plugin_arcaea')
若没有,请手动添加
指令 Command
-
/arc help
帮助文档 -
/arc bind
绑定账户 -
/arc info
查询个人信息,需绑定账户,返回 文字 -
/arc recent
查询最近游玩,返回 文字 / 图片 -
/arc b30
查询玩家 best30,返回 文字 / 图片 -
/arc songinfo
查询歌曲信息,返回 文字,无需注册 -
/arc config
配置用户信息,可选 config.{$b30} / config.{$recent} -
/arc current-config
查询用户配置信息
可选配置项 Optional Env
大小写随意
-
ARCAEA_BOTARCAPI_URI
: 可选配置项,填写 BotArcApi 的服务器地址 -
ARCAEA_QUERY_CONFIG
: 可选配置项,填写命令查分源,格式为字典,源码有注释 -
更多设置请见源码
准备开发 Develop
准备
pip 开发模式安装 nonebot-plugin-arcaea
cd nonebot2/src/plugins/npa
git clone https://github.com/iyume/nonebot-plugin-arcaea .
(activate virtualenv)
pip install -e .
插件加载单独写为一行
nonebot.load_plugins('src/plugins/npa')
注意
nonebot 开发模式会导致 watchgod 监视 db 文件的改动,导致每次 db 的变更都会使得 nonebot 重启,请不要惊讶,将环境设为 dev 即可
主题开发
-
在目录
messages/themes/pkgs
下新建目录,格式为theme_
+ 你的主题名 -
基类源码见
messages/themes/_base.py
-
参数参照
schema/api
内的文件,也可直接查看 BotArcAPI 给的传输示例,甚至因为类型提示的存在,你可以啥都不看就开始写 -
在
config.py
中AVAILABLE_USER_CONFIG
条目里加上你的主题包名
注意
由于 ttf 文件会附带在源码内,请不要使用中文字体开发主题,尽量使用英文字体,后期可能会考虑限制字体类型
同样地,作为背景的图片尽量压缩 (500k 以内),不仅仅是减少源码的负担,在消息传输时过大的 base64
字符串容易也导致发送失败
特别感谢
- Mrs4s / go-cqhttp
- nonebot / nonebot2
- TheSnowfield / BotArcAPI
- esterTion / arc-probe-server.php
- All Arcaea Player
目前开发情况
一些 BotArcAPI 的接口实现尚未完善成一个指令
recent
查分还没有一个图片示例的实现
handlers 那一块的结构需要调整
源码注释不太足够
后期打算
查询 estertion 得到的 allscores 使用 fastapi 编写 endpoint 并挂载到 bot 上
为 recent 添加图片功能(包括人物之类的各种资源)
根据 estertion 中提供的查分历史配合 数据科学分析工具 来合成用户 ptt 走向
实现所有 botarcapi 中提供的 api
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nonebot-plugin-arcaea-0.2.1.tar.gz
.
File metadata
- Download URL: nonebot-plugin-arcaea-0.2.1.tar.gz
- Upload date:
- Size: 660.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f089d29c97b36c8f3833460540caf3e07e3ecbdae832d25442dee6d740701019 |
|
MD5 | 6ebf955c7cb41d4338a88cd65e78b8cd |
|
BLAKE2b-256 | 068a617447bf07e523c0617f4fa5e7329f1acb2228011fd85bacc4ebbd921a93 |
File details
Details for the file nonebot_plugin_arcaea-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: nonebot_plugin_arcaea-0.2.1-py3-none-any.whl
- Upload date:
- Size: 675.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec1672a0aaefba74db7cb0a86264c835bedc45211e9ef2945649c3e41ea95896 |
|
MD5 | ba64dab2f9ca70537ee51645c4b0e4c3 |
|
BLAKE2b-256 | 7857610b99f24de8087dcf5018084f0d62cd6c095393b824db72b174d14a2e79 |