📖 介绍
通过森空岛查询游戏数据
[!NOTE] 本插件存在大量未经验证的数据结构
以及 💩 山如在使用过程中遇到问题,欢迎提 issue 帮助改进项目
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__endfield_background_simple |
否 | False |
终末地背景图片简化模式 |
skland__rogue_background_source |
否 | "rogue" |
肉鸽战绩背景图片来源 |
skland__argot_expire |
否 | 300 |
暗语消息过期时间(秒) |
skland__gacha_render_max |
否 | 30 |
明日方舟抽卡记录单图渲染上限(单位:卡池) |
skland__ef_gacha_render_max |
否 | 5 |
终末地抽卡记录单图渲染卡池上限 |
skland__roster_render_max |
否 | 16 |
方舟干员单图渲染数量上限 |
skland__roster_render_timeout |
否 | 180000 |
方舟干员截图超时时间(毫秒) |
[!TIP] 以上配置项均
没什么用按需填写,GitHub Token 用于解决 fetch_file_list 接口到达免费调用上限,但不会有那么频繁的更新频率,99.98%的概率是用不上的。只是因为我开发测试的时候上限了,所以有了这项,本插件所使用的
干员半身像、技能图标等资源,均优先调用本地,不存在则从网络请求获取,所以本地资源更新非必要选项,按需填写,不想过多请求网络资源可以自动或指令手动更新下载本地资源。
background_source
skland__background_source 为背景图来源,可选值为字面量 default / Lolicon / random 或者结构 CustomSource 。 Lolicon 为网络请求获取随机带arknightstag 的背景图,random为从默认背景目录中随机, CustomSource 用于自定义背景图。 默认为 default。
rogue_background_source 为肉鸽战绩背景图来源,可选值为字面量 default / Lolicon / rogue 或者结构 CustomSource 。 rogue为根据肉鸽主题提供的一套默认背景图。
方舟干员页面复用 skland__background_source;当值为 default 时不传背景图片,由模板使用纯色 #3F3F3F,其余选项直接沿用上述解析逻辑。
以下是 CustomSource 用法示例
在配置文件中将对应的背景来源字段设置为 CustomSource 结构的字典;以下以 skland__background_source 为例。
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 bind <token|cred> |
所有 | 绑定森空岛账号 |
skland bind -u <token|cred> |
所有 | 更新绑定的 token 或 cred |
skland qrcode |
所有 | 扫码绑定森空岛账号 |
skland unbind |
所有 | 解绑森空岛账号 |
skland char update |
所有 | 更新森空岛绑定角色信息 |
快捷指令: 森空岛绑定 扫码绑定 森空岛解绑 角色更新
🎮 游戏信息
| 指令 | 权限 | 说明 |
|---|---|---|
skland |
所有 | 查询默认角色信息卡片 |
skland @某人 |
所有 | 查询指定用户的角色信息 |
skland <QQ号> |
所有 | 查询指定QQ号的角色信息 |
✍️ 每日签到
明日方舟签到
| 指令 | 权限 | 说明 |
|---|---|---|
skland arksign sign --all |
所有 | 签到所有绑定角色 |
skland arksign sign -u <uid> |
所有 | 指定 UID 角色签到 |
skland arksign status |
所有 | 查询个人角色签到状态 |
skland arksign all |
超级用户 | 签到所有绑定到 bot 的角色 |
skland arksign status --all |
超级用户 | 查询所有角色的签到状态 |
快捷指令: 明日方舟签到 签到详情 全体签到 全体签到详情
终末地签到
| 指令 | 权限 | 说明 |
|---|---|---|
skland efsign sign --all |
所有 | 签到所有绑定角色 |
skland efsign sign -u <uid> |
所有 | 指定 UID 角色签到 |
skland efsign status |
所有 | 查询个人角色签到状态 |
skland efsign all |
超级用户 | 签到所有绑定到 bot 的角色 |
skland efsign status --all |
超级用户 | 查询所有角色的签到状态 |
快捷指令: 终末地签到 终末地签到详情 终末地全体签到 终末地全体签到详情
终末地角色卡片
| 指令 | 权限 | 说明 |
|---|---|---|
skland efcard |
所有 | 查询终末地角色信息卡片 |
skland efcard @某人 |
所有 | 查询指定用户的终末地角色信息 |
skland efcard -a |
所有 | 展示所有角色 |
skland efcard -s |
所有 | 使用简化背景 |
快捷指令: ef
[!TIP] 插件会在每天 00:15 自动为所有明日方舟绑定角色签到,00:20 自动为所有终末地绑定角色签到,一般无需手动签到
📦 方舟干员
| 用法 | 说明 |
|---|---|
方舟干员 |
查询全部星级的已拥有干员,按实装顺序排列 |
方舟干员 未拥有 6星 |
查询尚未拥有的六星干员 |
方舟干员 全部 5-6星 |
查询五星和六星完整图鉴 |
方舟干员 近卫 满潜 练度 |
查询满潜近卫并按练度排列 |
方舟干员 @某人 远程 女 最近 |
查询指定用户最近获得的远程女性干员 |
可直接使用的自然筛选词:
| 维度 | 可直接使用的写法 |
|---|---|
| 持有状态 | 持有 / 已拥有;未拥有 / 未持有 / 缺失 / 缺干员;全部 / 图鉴 |
| 星级 | 6星 / 6★ / 5-6星,范围限定为 1–6 星 |
| 职业 | 先锋 / 近卫 / 重装 / 狙击 / 术师 / 医疗 / 辅助 / 特种,术士 等同于 术师 |
| 职业分支 | 直接使用分支中文名,例如 铁卫 / 收割者 / 医师 |
| 部署位置 | 近战 / 近战位;远程 / 远程位 |
| 性别 | 男 / 男性;女 / 女性 / 女士;其他 / 未知 |
| 势力与种族 | 直接使用目录中的中文名,例如 罗德岛 / 炎 / 萨卡兹;种族还支持 不明 / 不公开 |
| 潜能 | 满潜(潜能 6)/ 潜6 / 潜能6 / 6潜 / 潜3-6 / 潜能3-6 / 3-6潜 |
| 排序 | 实装 / 实装顺序;获取 / 最近 / 最近获得 / 获取顺序;练度 / 练度排序 |
| 名称 | 直接输入干员名称或代号片段,或使用 名字:阿米娅 / 名称:阿米娅 |
同一维度内为“或”,不同维度之间为“且”;筛选词必须使用空格分隔。查询他人时将 @ 或 QQ 号放在筛选词之前。裸数字会作为 QQ 目标解析,因此星级必须写成 6星,潜能必须写成 潜6 或 满潜。
高级调用仍支持 skland box [target] [filters ...] [options] 及原有 --ownership、--position、--potential、--sort 等参数。自然筛选词和高级参数可以混用;集合条件合并为“或”,互相冲突的持有状态、排序或名称会返回明确提示。
页面使用玩家信息头部和 4 列干员卡,展示精英阶段、等级、潜能、技能与模组。获取排序使用森空岛 gainTime;练度排序依次比较精英阶段、等级、专精、已解锁模组、技能等级和信赖。未拥有干员没有潜能、获取时间或练度。结果超过 skland__roster_render_max 时自动分图,QQClient 使用合并转发,其余平台逐图发送。
🎲 肉鸽战绩
| 指令 | 权限 | 说明 |
|---|---|---|
skland rogue |
所有 | 查询默认角色的最新肉鸽战绩 |
skland rogue @某人 |
所有 | 查询指定用户的肉鸽战绩 |
skland rogue --topic <主题> |
所有 | 查询指定主题的肉鸽战绩 |
skland rginfo <战绩id> |
所有 | 查询最近战绩的详细信息 |
skland rginfo <战绩id> -f |
所有 | 查询收藏战绩的详细信息 |
主题选项: 傀影 水月 萨米 萨卡兹 界园 黑流树海
快捷指令: 战绩详情 收藏战绩详情 傀影肉鸽 水月肉鸽 萨米肉鸽 萨卡兹肉鸽 界园肉鸽 树海肉鸽
[!TIP] 查询战绩详情时需要回复一条通过肉鸽战绩查询获取的图片消息
🎰 抽卡记录
| 指令 | 权限 | 说明 |
|---|---|---|
skland gacha |
所有 | 查询完整抽卡记录 |
skland gacha -b <起始id> |
所有 | 从指定位置开始查询 |
skland gacha -l <结束id> |
所有 | 查询到指定位置结束 |
skland gacha -b <起始> -l <结束> |
所有 | 查询指定范围的抽卡记录 |
skland import <url> |
所有 | 导入小黑盒抽卡记录 |
快捷指令: 方舟抽卡记录 导入抽卡记录
[!TIP] 抽卡记录使用提示:
- 支持指定范围查询,如
skland gacha -b -3查询倒数 3 个卡池- 或者
skland gacha -b 3 -l 25查询第 3 到 25 个卡池- 导入记录时,在小黑盒抽卡分析页底部点击
数据管理导出并复制链接- 单页卡池数超过配置的
skland__gacha_render_max会输出多张图片
🎰 终末地抽卡记录
| 指令 | 权限 | 说明 |
|---|---|---|
skland efgacha |
所有 | 查询终末地抽卡记录(从数据库缓存) |
skland efgacha -u |
所有 | 从接口拉取最新数据并更新 |
skland efgacha -b <起始> -l <结束> |
所有 | 指定各类别卡池渲染范围 |
skland efgacha -u -l 3 |
所有 | 更新数据并只渲染各类别前3个卡池 |
快捷指令: 终末地抽卡记录 终末地抽卡更新
[!TIP] 终末地抽卡记录使用提示:
- 默认从数据库缓存读取渲染,首次使用或需要更新时请加
-u参数-b/-l对各类别卡池(限定/武器/常驻/新手)分别计数- 单页卡池数超过配置的
skland__ef_gacha_render_max会自动分页发送多张图片
🔧 资源管理
| 指令 | 权限 | 说明 |
|---|---|---|
skland sync |
超级用户 | 同时更新图片和数据资源 |
skland sync --img |
超级用户 | 仅更新图片资源 |
skland sync --data |
超级用户 | 仅更新数据资源 |
skland sync --force |
超级用户 | 强制更新,忽略版本检查 |
skland sync --update |
超级用户 | 覆盖已存在的文件 |
快捷指令: 资源更新
[!TIP] 资源更新选项说明:
- 可以组合使用选项,如
skland sync --img --force --update- 图片资源包括干员立绘、技能图标等,数据资源包括卡池数据、角色数据等
- 默认跳过已存在的文件,使用
--update可强制覆盖- 本地资源优先,不存在时从网络获取,非必要无需更新
🎨 暗语功能
暗语功能由 nonebot-plugin-argot 提供支持
使用方法: 回复插件渲染的图片消息,发送对应的暗语指令
| 暗语指令 | 对象 | 说明 |
|---|---|---|
background |
信息卡片 | 查看卡片背景图 |
clue |
游戏信息 | 查看角色线索板 |
🎯 快捷指令速查
查看所有快捷指令
| 触发词 | 执行指令 | 说明 |
|---|---|---|
森空岛绑定 |
skland bind |
绑定账号 |
扫码绑定 |
skland qrcode |
扫码绑定 |
森空岛解绑 |
skland unbind |
解绑账号 |
明日方舟签到 |
skland arksign sign --all |
签到所有角色 |
签到详情 |
skland arksign status |
个人签到状态 |
全体签到 |
skland arksign all |
全部角色签到 |
全体签到详情 |
skland arksign status --all |
全部签到状态 |
ef |
skland efcard |
终末地角色卡片 |
终末地签到 |
skland efsign sign --all |
终末地签到 |
终末地签到详情 |
skland efsign status |
终末地签到状态 |
终末地全体签到 |
skland efsign all |
终末地全部签到 |
终末地全体签到详情 |
skland efsign status --all |
终末地全部签到状态 |
角色更新 |
skland char update |
更新角色信息 |
全体角色更新 |
skland char update --all |
更新所有用户角色 |
资源更新 |
skland sync |
更新资源文件 |
树海肉鸽 |
skland rogue --topic 黑流树海 |
黑流树海主题战绩 |
界园肉鸽 |
skland rogue --topic 界园 |
界园主题战绩 |
萨卡兹肉鸽 |
skland rogue --topic 萨卡兹 |
萨卡兹主题战绩 |
萨米肉鸽 |
skland rogue --topic 萨米 |
萨米主题战绩 |
水月肉鸽 |
skland rogue --topic 水月 |
水月主题战绩 |
傀影肉鸽 |
skland rogue --topic 傀影 |
傀影主题战绩 |
战绩详情 |
skland rginfo |
查询战绩详情 |
收藏战绩详情 |
skland rginfo -f |
查询收藏战绩 |
方舟抽卡记录 |
skland gacha -l 3 |
查询抽卡记录 |
导入抽卡记录 |
skland import |
导入抽卡数据 |
终末地抽卡记录 |
skland efgacha |
终末地抽卡记录 |
终末地抽卡更新 |
skland efgacha -u |
拉取最新抽卡数据 |
方舟干员 |
skland box |
中文筛选词查询干员 |
🪄 自定义快捷指令
基于 Alconna 快捷指令 实现
点击查看详细说明
语法:
# 添加快捷指令
/skland --shortcut <自定义指令> <目标指令>
# 删除快捷指令
/skland --shortcut delete <自定义指令>
# 列出所有快捷指令
/skland --shortcut list
示例:
# 添加一个签到快捷指令
用户: /skland --shortcut /兔兔签到 "/skland arksign sign --all"
Bot: skland::skland 的快捷指令: "/兔兔签到" 添加成功
# 添加一个查询战绩的快捷指令
用户: /skland --shortcut 查战绩 "skland rogue"
Bot: skland::skland 的快捷指令: "查战绩" 添加成功
[!NOTE]
- 自定义指令不自动带命令前缀,需要时请手动添加
- 指令中包含空格时,需要用引号
""包裹
[!NOTE] Token 获取相关文档还没写
才不是懒得写可以参考
token获取获取本插件支持 cred 和 token 两种方式手动绑定,使用二维码绑定时会提供 token,请勿将 token 提供给不信任的 Bot 所有者
📸 效果图
🗃️ 方舟干员 Box
🫖 肉鸽战绩
🏆 战绩详情
🕵️♀ 线索板
💖 鸣谢
Alconna: 简单、灵活、高效的命令参数解析器NoneBot2: 跨平台 Python 异步机器人框架yuanyan3060/ArknightsGameResource: 明日方舟常用素材KomoriDev/Starify:超棒的 GitHub Star Trace 工具 🌟📈KomoriDev/nonebot-plugin-argot: 优秀的 NoneBot2 暗语支持
贡献者们
📢 声明
本插件仅供学习交流使用,数据由 森空岛 提供,请勿用于商业用途。
使用过程中,任何涉及个人账号隐私信息(如账号 token、cred 等)的数据,请勿提供给不信任的 Bot 所有者(尤其是 token)。
📋 TODO
- 完善用户接口返回数据解析
- 使用
nonebot-plugin-htmlrender渲染信息卡片 - 从
yuanyan3060/ArknightsGameResource下载游戏数据、检查数据更新 - 绘制渲染粥游信息卡片
- 支持扫码绑定
- 优化资源获取形式
- 完善肉鸽战绩返回信息解析
- 绘制渲染肉鸽战绩卡片
- 粥游签到自动化
- 实现抽卡记录获取及渲染
- 支持抽卡记录导入(从小黑盒)
- 抽卡记录分页
- 支持终末地角色信息查询及签到
- 支持终末地抽卡记录查询及分页
- 实现 box 查询
- 实现图鉴查询
- 完善多服账号管理
-
扬了不必要的 💩 - 待补充,欢迎 pr
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot_plugin_skland-0.7.0.tar.gz.
File metadata
- Download URL: nonebot_plugin_skland-0.7.0.tar.gz
- Upload date:
- Size: 22.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4764f044c9a0ffd730ecae3c2482d371cb722630202a2e52a30ae245f2bc008c
|
|
| MD5 |
24c80c99fba710161253f5b5ace95e9f
|
|
| BLAKE2b-256 |
1bd3910dce2cf37816b283e8debb9625c1b131362e50ba306cfcddec230ee83b
|
File details
Details for the file nonebot_plugin_skland-0.7.0-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_skland-0.7.0-py3-none-any.whl
- Upload date:
- Size: 22.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab7eb59d7ac5adbc9cea3bea064b4907b7bec53bd5910edc0e9209e03014ae3e
|
|
| MD5 |
0190444a918cc5efd464208e1af0e40b
|
|
| BLAKE2b-256 |
f8e7f727c9da6c087cbea5a5abcf5e494fd4c2337ee074adfc55fe633e1447d1
|