通过森空岛查询游戏数据
Star History
使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-skland
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令pip
pip install nonebot-plugin-skland
pdm
pdm add nonebot-plugin-skland
uv
uv add nonebot-plugin-skland
poetry
poetry add nonebot-plugin-skland
conda
conda install nonebot-plugin-skland
打开 nonebot2 项目根目录下的 pyproject.toml
文件, 在 [tool.nonebot]
部分追加写入
plugins = ["nonebot_plugin_skland"]
在 nonebot2 项目的.env
文件中修改配置项
配置项 | 必填 | 默认值 | 说明 |
---|---|---|---|
skland__github_proxy_url |
否 | "" |
GitHub 代理 URL |
skland__github_token |
否 | "" |
GitHub Token |
skland__check_res_update |
否 | False |
是否在启动时检查资源更新 |
skland__background_source |
否 | "default" |
背景图片来源 |
skland__rogue_background_source |
否 | "rogue" |
肉鸽战绩背景图片来源 |
skland__argot_expire |
否 | 300 |
暗语消息过期时间(秒) |
skland__gacha_render_max |
否 | 30 |
抽卡记录单图渲染上限(单位:卡池) |
Tip
以上配置项均没什么用按需填写,GitHub Token 用于解决 fetch_file_list 接口到达免费调用上限,但不会有那么频繁的更新频率,99.98%的概率是用不上的。只是因为我开发测试的时候上限了,所以有了这项,
本插件所使用的干员半身像
、技能图标
等资源,均优先调用本地,不存在则从网络请求获取,所以本地资源更新非必要选项,按需填写,不想过多请求网络资源可以自动或指令手动更新下载本地资源。
skland__background_source
为背景图来源,可选值为字面量 default
/ Lolicon
/ random
或者结构 CustomSource
。 Lolicon
为网络请求获取随机带arknights
tag 的背景图,random
为从默认背景目录中随机, CustomSource
用于自定义背景图。 默认为 default
。
rogue_background_source
为肉鸽战绩背景图来源,可选值为字面量 default
/ Lolicon
/ rogue
或者结构 CustomSource
。 rogue
为根据肉鸽主题提供的一套默认背景图。
以下是 CustomSource
用法示例
在配置文件中设置 skland__background_source
为 CustomSource
结构的字典
CustomSource配置示例
-
网络链接
uri
可为网络图片 API,只要返回的是图片即可uri
也可以为 base64 编码的图片,如data:image/png;base64,xxxxxx
(一般也没人这么干)
skland__background_source = '{"uri": "https://example.com/image.jpg"}'
- 本地图片
uri
也可以为本地图片路径,如imgs/image.jpg
、/path/to/image.jpg
- 如果本地图片路径是相对路径,会使用
nonebot-plugin-localstore
指定的 data 目录作为根目录- 如果本地图片路径是目录,会随机选择目录下的一张图片作为背景图
skland__background_source = '{"uri": "/imgs/image.jpg"}'
Note
记得使用命令前缀哦
指令 | 权限 | 参数 | 说明 |
---|---|---|---|
skland |
所有 | 无 or @ |
角色信息卡片 |
skland bind |
所有 | token or cred |
绑定森空岛账号 |
skland bind -u |
所有 | token or cred |
更新绑定的 token 或 cred |
skland qrcode |
所有 | 无 | 扫码绑定森空岛账号 |
skland arksign sign |
所有 | 无 | 个人角色明日方舟签到 |
skland arksign sign -u <uid> |
所有 | uid |
指定绑定的个人角色 UID 进行签到 |
skland arksign all |
超级用户 | 无 | 签到所有绑定到该 bot 的角色 |
skland arksign status |
所有 | 无 | 查询个人角色自动签到状态 |
skland arksign status --all |
超级用户 | 无 | 查询所有绑定到该 bot 的角色的签到状态 |
skland arksign sign --all |
所有 | 无 | 签到所有绑定角色 |
skland char update |
所有 | 无 | 更新森空岛绑定角色信息 |
skland sync |
超级用户 | 无 | 本地资源更新 |
skland rogue |
所有 | @ | topic |
肉鸽战绩查询 |
skland rginfo |
所有 | 战绩id |
根据 ID 查询最近战绩详情 |
skland rginfo -f |
所有 | 战绩id |
根据 ID 查询森空岛收藏的战绩详情 |
skland gacha |
所有 | -b 起始id | -l 结束id |
查询明日方舟抽卡记录 |
skland import |
所有 | url |
导入明日方舟抽卡记录 |
Note
Token 获取相关文档还没写才不是懒得写
可以参考token获取
获取
本插件支持 cred 和 token 两种方式手动绑定,使用二维码绑定时会提供 token,请勿将 token 提供给不信任的 Bot 所有者
Tip
支持导入小黑盒记录的抽卡记录,请滑动至小黑盒抽卡分析页底部,点击数据管理
导出数据并复制链接
查询抽卡记录支持指定范围,例如 sk gacha -b -3
是只渲染倒数 3 个卡池,或者 sk gacha -b 3 -l 25
是只渲染第 3 到 25 个卡池
若单页渲染卡池数量超过配置项 skland__gacha_render_max
会输出多张图片(QQ 会以合并消息方式发送)
触发词 | 执行指令 |
---|---|
森空岛绑定 | skland bind |
扫码绑定 | skland qrcode |
明日方舟签到 | skland arksign sign --all |
签到详情 | skland arksign status |
全体签到 | skland arksign all |
全体签到详情 | skland arksign status --all |
角色更新 | skland char update |
资源更新 | skland sync |
界园肉鸽 | skland rogue --topic 界园 |
萨卡兹肉鸽 | skland rogue --topic 萨卡兹 |
萨米肉鸽 | skland rogue --topic 萨米 |
水月肉鸽 | skland rogue --topic 水月 |
傀影肉鸽 | skland rogue --topic 傀影 |
战绩详情 | skland rginfo |
收藏战绩详情 | skland rginfo --favored |
方舟抽卡记录 | skland gacha |
导入抽卡记录 | skland import |
该特性依赖于 Alconna 快捷指令。自定义指令不带
COMMAND_START
,若有必要需手动填写
# 增加
/skland --shortcut <自定义指令> /skland
# 删除
/skland --shortcut delete <自定义指令>
# 列出
/skland --shortcut list
Note
自定义指令中包含空格,需要用引号""
包裹。
例子:
user: /skland --shortcut /兔兔签到 "/skland arksign sign --all"
bot: skland::skland 的快捷指令: "/兔兔签到" 添加成功
暗语指令 | 对象 | 说明 |
---|---|---|
background |
信息卡片 | 查看背景图 |
clue |
游戏信息 | 查看线索板 |
Alconna
: 简单、灵活、高效的命令参数解析器NoneBot2
: 跨平台 Python 异步机器人框架yuanyan3060/ArknightsGameResource
: 明日方舟常用素材KomoriDev/Starify
:超棒的 GitHub Star Trace 工具 🌟📈KomoriDev/nonebot-plugin-argot
: 优秀的 NoneBot2 暗语支持
本插件仅供学习交流使用,数据由 森空岛 提供,请勿用于商业用途。
使用过程中,任何涉及个人账号隐私信息(如账号 token、cred 等)的数据,请勿提供给不信任的 Bot 所有者(尤其是 token)。
- 完善用户接口返回数据解析
- 使用
nonebot-plugin-htmlrender
渲染信息卡片 - 从
yuanyan3060/ArknightsGameResource
下载游戏数据、检查数据更新 - 绘制渲染粥游信息卡片
- 支持扫码绑定
- 优化资源获取形式
- 完善肉鸽战绩返回信息解析
- 绘制渲染肉鸽战绩卡片
- 粥游签到自动化
- 实现抽卡记录获取及渲染
- 支持抽卡记录导入(从小黑盒)
- 抽卡记录分页
- 实现满理智/干员训练完成订阅提醒
-
扬了不必要的 💩 - 待补充,欢迎 pr