Arcaea 查分器,可以实现 best30
| recent
| songinfo
之类的查询功能
-
不配置的情况下也可使用
b30
|recent
功能,默认配置下使用 estertion 维护的公开源作为查分来源 -
API 可拓展性,只需编写额外的 Adapter
-
查分灵活性,可以为每个查分命令配置查分的源,见 配置项
-
以图片形式返回
b30
|recent
-
抽象类为图片主题的编写提供了接口,只需要编写一个包并贡献至
messages/themes/pkgs
便可使用对应的图片主题,见 开发一个主题 -
config
命令允许用户设置自己查分的主题 -
为来自 BotArcAPI 搭建的 API 做了适配
-
handler
分离式设计,增加对命令处理的灵活性
注意
-
由于使用了 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')
若没有,请手动添加
-
/arc help
帮助文档 -
/arc bind
绑定账户 -
/arc info
查询个人信息,需绑定账户,返回 文字 -
/arc recent
查询最近游玩,返回 文字 / 图片 -
/arc b30
查询玩家 best30,返回 文字 / 图片 -
/arc songinfo
查询歌曲信息,返回 文字,无需注册 -
/arc config
配置用户信息,可选 config.{$b30} / config.{$recent} -
/arc current-config
查询用户配置信息
大小写随意
-
ARCAEA_BOTARCAPI_URI
: 可选配置项,填写 BotArcApi 的服务器地址 -
ARCAEA_QUERY_CONFIG
: 可选配置项,填写命令查分源,格式为字典,源码有注释 -
更多设置请见源码
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