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
Metadata
Release files for nonebot-plugin-arcaea 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nonebot-plugin-arcaea-0.2.1.tar.gz | 660.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nonebot_plugin_arcaea-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / nonebot-plugin-arcaea-0.2.1.tar.gz
| Download URL | nonebot-plugin-arcaea-0.2.1.tar.gz |
|---|---|
| Size | 660.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f089d29c97b36c8f3833460540caf3e07e3ecbdae832d25442dee6d740701019
|
|
BLAKE2b-256 checksum How to use checksums |
068a617447bf07e523c0617f4fa5e7329f1acb2228011fd85bacc4ebbd921a93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / nonebot_plugin_arcaea-0.2.1-py3-none-any.whl
| Download URL | nonebot_plugin_arcaea-0.2.1-py3-none-any.whl |
|---|---|
| Size | 675.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec1672a0aaefba74db7cb0a86264c835bedc45211e9ef2945649c3e41ea95896
|
|
BLAKE2b-256 checksum How to use checksums |
7857610b99f24de8087dcf5018084f0d62cd6c095393b824db72b174d14a2e79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|