Skip to main content
NoneBotPluginLogo

nonebot-plugin-skland

✨ 通过森空岛查询游戏数据 ✨

license pypi pypi downloads python
pre-commit.ci status NoneBot Registry uv ruff CodeFactor
📸 演示与预览   |   📦️ 下载插件   |   💬 加入交流群

📖 介绍

通过森空岛查询游戏数据

[!NOTE] 本插件存在大量未经验证的数据结构以及 💩 山

如在使用过程中遇到问题,欢迎提 issue 帮助改进项目

starify
Star History Star History Chart

💿 安装

使用 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__ark_portrait_cache_enabled False 是否按需缓存方舟干员半身图
skland__background_source "default" 背景图片来源
skland__endfield_background_simple False 终末地背景图片简化模式
skland__rogue_background_source "rogue" 肉鸽战绩背景图片来源
skland__argot_expire 300 暗语消息过期时间(秒)
skland__ark_card_cache_ttl 120 玩家角色卡短期缓存时间(秒)
skland__ark_card_cache_max_entries 64 玩家角色卡缓存角色数量上限
skland__gacha_render_max 30 明日方舟抽卡记录单图渲染上限(单位:卡池)
skland__ef_gacha_render_max 5 终末地抽卡记录单图渲染卡池上限
skland__roster_render_max 16 方舟干员单图渲染数量上限
skland__render_timeout 180000 模板截图超时时间(毫秒)
skland__roster_render_format "jpeg" 方舟干员图片格式:png / jpeg
skland__roster_jpeg_quality 90 方舟干员 JPEG 质量(1-100)

[!TIP] 以上配置项均没什么用按需填写,GitHub Token 用于解决 fetch_file_list 接口到达免费调用上限,但不会有那么频繁的更新频率,99.98%的概率是用不上的。只是因为我开发测试的时候上限了,所以有了这项,

本插件所使用的干员半身像技能图标等资源均优先调用本地,不存在时从网络请求。开启 skland__ark_portrait_cache_enabled 后,首次渲染仍直接使用远程方舟干员或皮肤半身图;Chromium 加载成功后会将该响应写入本地缓存,后续渲染优先读取本地。该过程不会额外请求图片或重新生成 HTML,接口直接返回的图片链接仍由浏览器访问。方舟干员页面会显式等待字体及全部图片完成加载和解码后截图,不再等待每页进入 networkidle;远程背景也会加入该等待。方舟干员默认输出 JPEG 90,可通过配置切回 PNG。全量资源更新仍为可选项。

background_source

skland__background_source 为背景图来源,可选值为字面量 default / Lolicon / random 或者结构 CustomSourceLolicon 为网络请求获取随机带arknightstag 的背景图,random为从默认背景目录中随机, CustomSource 用于自定义背景图。 默认为 default

rogue_background_source 为肉鸽战绩背景图来源,可选值为字面量 default / Lolicon / rogue 或者结构 CustomSourcerogue为根据肉鸽主题提供的一套默认背景图。

方舟干员页面复用 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

方舟干员box

🫖 肉鸽战绩

肉鸽战绩

🏆 战绩详情

战绩详情

🕵️‍♀ 线索板

线索板

🦭 抽卡记录

明日方舟

明日方舟抽卡记录

终末地

终末地抽卡记录

💖 鸣谢

贡献者们

contributors

📢 声明

本插件仅供学习交流使用,数据由 森空岛 提供,请勿用于商业用途。

使用过程中,任何涉及个人账号隐私信息(如账号 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

nonebot_plugin_skland-0.7.1.tar.gz (22.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_skland-0.7.1-py3-none-any.whl (22.4 MB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_skland-0.7.1.tar.gz.

File metadata

  • Download URL: nonebot_plugin_skland-0.7.1.tar.gz
  • Upload date:
  • Size: 22.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nonebot_plugin_skland-0.7.1.tar.gz
Algorithm Hash digest
SHA256 48a4ae9e473c3a704f6f5832ba3a2fb7e4359c0ed22ceccb0b55f5f984ad9129
MD5 347529bd56c0f9f27be6a083cdcd699c
BLAKE2b-256 223706453e7241df391756dda8e88b847eb3aec478f339450bbee2b4c3750cd2

See more details on using hashes here.

File details

Details for the file nonebot_plugin_skland-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_skland-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 232384fb428bb75e3072b22e00c21e87545b15d8eb163634b5031c2a3b932ed7
MD5 e7b48a415b38ebde8c12ab029a81586c
BLAKE2b-256 1e0fc80ca7b28b9163d241ec2732eee9a5f1956f84a33d06b92ccb090b2ffddd

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.2

2 files

This release

0.7.1 This release

2 files

0.7.0

2 files

0.6.11

2 files

0.6.10

2 files

0.6.9

2 files

0.6.8

2 files

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page