Skip to main content
NoneBotPluginLogo

nonebot-plugin-skland

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

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

📖 介绍

通过森空岛查询游戏数据

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 否 "https://gh-proxy.com/" GitHub 代理前缀;显式设为空字符串则直连
skland__github_token 否 "" GitHub Token
skland__check_res_update 否 False 是否在启动时检查图片资源更新
skland__auto_update_resources 否 True 每天 09:00 自动更新游戏数据与卡池数据,不下载图片
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)

htmlrender 版本兼容

支持 htmlrender 0.6.5~0.8.x,旧版用户无需强制升级。

  • 0.6.x:沿用原有配置。
  • 0.7.x:设置 render_backend=playwright。
  • 0.8.x:本插件无需额外配置;从旧版升级时,移除或迁移 render_backend 等旧配置键,详见 官方迁移指南。

渲染需要可用的 Playwright 浏览器环境。若 htmlrender 0.8.1 自动安装后仍提示找不到浏览器,请检查浏览器安装及缓存目录配置。

background_source

skland__background_source 控制明日方舟和终末地角色卡片背景,默认为 default;skland__rogue_background_source 控制肉鸽战绩背景,默认为 rogue。

配置值 角色卡片背景 肉鸽战绩背景
default 使用内置默认背景 使用内置通用背景
Lolicon 联网获取随机背景,按游戏使用 arknights 或 endfield 标签 联网获取带 arknights 标签的随机背景
random 从对应游戏的内置背景目录随机选择 不支持
rogue 不支持 使用当前肉鸽主题的内置背景
{"uri": "图片地址或路径"} 使用自定义背景 使用自定义背景

方舟干员页面也使用 skland__background_source;设为 default 时使用纯色背景,其他设置与角色卡片相同。

自定义背景可填写网络图片地址或本地路径,以下以 skland__background_source 为例。

自定义背景配置示例
  • 网络链接

    • 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 为 Skland 分配的插件数据目录(get_plugin_data_dir())为根目录,不是项目根目录或通用 data/ 目录。例如插件数据目录为 data/nonebot_plugin_skland/ 时,imgs/image.jpg 对应 data/nonebot_plugin_skland/imgs/image.jpg
  • 如果本地图片路径是目录,会随机选择目录下的一张图片作为背景图
skland__background_source = '{"uri": "imgs/image.jpg"}'

🎉 使用

图片帮助(可选)

Bot 同时安装并加载 nonebot-plugin-picmenu-next 后,即可使用 Skland 专属图片帮助。支持 PicMenu Next 0.5 系列,不会替换机器人的全局帮助首页;未安装或未加载 PicMenu 时不影响插件的其他功能。

帮助 森空岛
帮助 森空岛 方舟干员
帮助 森空岛 终末地抽卡记录
帮助 -H 森空岛

命令需要使用当前 Bot 的命令前缀;图片中的示例会选用配置中的一个可用前缀。总览按账号、明日方舟、终末地和图片交互分组,详情页优先展示常用示例,方舟干员提供筛选速查布局。也可以按当前图片中的功能编号查询详情。

管理功能默认隐藏,-H 显示隐藏项;隐藏不是命令权限校验。若希望仅超管能通过普通帮助入口查看隐藏项,在 Bot 配置中设置 PMN_ONLY_SUPERUSER_SEE_HIDDEN=True,实际管理命令仍沿用原有超管权限。

若希望 sk box --help 等命令也使用图片帮助样式,需由 Bot 管理者开启 PMN_ALCONNA_GLOBAL_EXT=True;这类帮助展示命令参数,与 帮助 森空岛 <功能> 的中文使用说明不同。未加载 PicMenu 时,仍可使用 skland --help 查看文字帮助。

🪧 指令总览

权限说明:所有表示任何用户均可使用;超级用户指 Bot 管理者在 NoneBot SUPERUSERS 中配置的用户,群主或群管理员不会自动获得此权限。

🔐 账号管理
指令 权限 说明
skland bind <token|cred> 所有 仅私聊,新增森空岛账号并确认角色列表后保存
skland bind -u <token|cred> 所有 仅私聊,更新由凭证识别的既有森空岛账号
skland qrcode 所有 扫码后确认角色列表,新增或更新对应账号
skland unbind 所有 交互选择一个账号或全部账号并二次确认解绑
skland char 所有 查看全部森空岛账号、游戏角色及当前插件默认角色
skland char set <ark|ef> <序号> 所有 按游戏独立序号切换插件默认角色
skland char update 所有 逐账号同步自己的森空岛角色
skland char update --all 超级用户 逐账号同步所有用户的森空岛角色

群聊中请使用 skland qrcode 扫码绑定,不要发送 token 或 cred。

同一 NoneBot 用户可绑定多个森空岛账号。明日方舟与终末地分别维护一个插件默认角色;角色查询、签到、肉鸽和抽卡始终使用所选角色所属账号的凭证。角色同步会保留仍有效的默认角色;指向已移除角色的默认设置会清空,需要使用 skland char set 重新选择。角色序号不会持久化,同步后请以最新 skland char 卡片为准。

快捷指令: 森空岛绑定 扫码绑定 森空岛解绑 森空岛角色 切换方舟角色 <序号> 切换终末地角色 <序号> 角色更新 全体角色更新

🎮 游戏信息
指令 权限 说明
skland 所有 查询默认角色信息卡片
skland --role <序号> 所有 临时查询自己的指定方舟角色,不切换默认
skland @某人 所有 查询指定用户的角色信息
skland <QQ号> 所有 查询指定QQ号的角色信息

默认角色由插件按游戏独立管理,不跟随森空岛账号的默认设置。本人尚未选择默认角色时,相关命令会返回最新账号角色卡片并提示使用 skland char set。

--role 使用最新 skland char 卡片中对应游戏的角色序号,不是账号序号或玩家 UID;无需预先设置默认角色,只对本次命令生效。它只允许选择自己的绑定角色,序号无效时会提示重新查看卡片,不会回退到默认角色。裸数字仍表示 QQ 目标,不能用 skland 2 代替 skland --role 2。

所有按角色执行的入口均支持 -r / --role:角色卡片、两游戏抽卡查询、战争回响、抽卡导入、方舟干员、肉鸽战绩与详情、两游戏个人签到与签到状态。例:sk gacha -r 2、sk efgacha -r 2、sk efwar -r 2、sk rogue -r 2。绑定、解绑、账号管理、资源同步及超管全体签到不按单个游戏角色执行。

干员查询中,-r / --role 选择角色,-ra / --rarity 和 6星 等自然筛选词筛选星级。例如 sk box -r 2 -ra 6 查询第 2 个角色的六星干员。

✍️ 每日签到

明日方舟签到

指令 权限 说明
skland arksign sign --all 所有 签到所有绑定角色
skland arksign sign --role <序号> 所有 按方舟角色序号签到,不切换默认
skland arksign status [-r <序号>] 所有 查询本人全部或指定角色的签到状态
skland arksign all 超级用户 签到所有绑定到 bot 的角色
skland arksign status --all 超级用户 查询所有角色的签到状态

快捷指令: 明日方舟签到 签到详情 全体签到 全体签到详情

终末地签到

指令 权限 说明
skland efsign sign --all 所有 签到所有绑定角色
skland efsign sign --role <序号> 所有 按终末地角色序号签到,不切换默认
skland efsign status [-r <序号>] 所有 查询本人全部或指定角色的签到状态
skland efsign all 超级用户 签到所有绑定到 bot 的角色
skland efsign status --all 超级用户 查询所有角色的签到状态

快捷指令: 终末地签到 终末地签到详情 终末地全体签到 终末地全体签到详情

两游戏的 sign 不带选项时签到默认角色,-r / --role 与 --all 不能同时使用。-u 仅用于 bind 更新账号、char 同步角色和 sync 覆盖已有图片;两游戏抽卡命令均直接获取记录,不接受 -u。

明日方舟签到 / 终末地签到 不带参数时仍签到本人全部角色;追加 -r 2 时只签到第 2 个角色。签到详情 -r 2 / 终末地签到详情 -r 2 只显示该角色的缓存结果;签到和状态中的 -r 都不能与 --all 同用。

终末地角色卡片

指令 权限 说明
skland efcard 所有 查询终末地角色信息卡片,默认展示森空岛展示配置中选择的干员
skland efcard --role <序号> 所有 临时查询自己的指定终末地角色,不切换默认
skland efcard @某人 所有 查询指定用户的终末地角色信息
skland efcard -a 所有 展示当前角色的全部干员
skland efcard -s 所有 使用简化背景

快捷指令: ef

战争回响

指令 权限 说明
skland efwar 所有 查询当前赛季与当前轮换的战争回响战绩
skland efwar -r <序号> 所有 临时查询自己的指定终末地角色
skland efwar -s <赛季> -w <轮换> 所有 查询指定赛季与轮换;-s -1 表示上一赛季

快捷指令: 战争回响

📦 方舟干员
用法 说明
方舟干员 查询全部星级的已拥有干员,按实装顺序排列
方舟干员 未拥有 6星 查询尚未拥有的六星干员
方舟干员 全部 5-6星 查询五星和六星完整图鉴
方舟干员 近卫 满潜 练度 查询满潜近卫并按练度排列
方舟干员 @某人 远程 女 最近 查询指定用户最近获得的远程女性干员
方舟干员 -r 2 -ra 6 查询自己的第 2 个方舟角色持有的六星干员

可直接使用的自然筛选词:

维度 可直接使用的写法
持有状态 持有 / 已拥有;未拥有 / 未持有 / 缺失 / 缺干员;全部 / 图鉴
星级 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]:-r / --role 选择自己的角色,-ra / --rarity 筛选星级;还可使用 --ownership 指定持有状态、--position 指定部署位置、--potential 筛选潜能、--sort 选择排序。自然筛选词和高级参数可以混用;集合条件合并为“或”,互相冲突的持有状态、排序或名称会返回明确提示。

页面展示玩家信息和干员卡片,包括精英阶段、等级、潜能、技能与模组。获取排序将最近获得的干员排在前面;练度排序依次比较精英阶段、等级、专精、已解锁模组、技能等级和信赖。未拥有干员没有潜能、获取时间或练度。结果超过 skland__roster_render_max 时自动分图,QQ 聊天中使用合并转发,其他平台逐图发送。

🎲 肉鸽战绩
指令 权限 说明
skland rogue [-r <序号>] 所有 查询默认或指定角色的最新肉鸽战绩
skland rogue @某人 所有 查询指定用户的肉鸽战绩
skland rogue --topic <主题> 所有 查询指定主题的肉鸽战绩
skland rginfo <战绩id> [-r <序号>] 所有 查询最近战绩的详细信息
skland rginfo <战绩id> -f [-r <序号>] 所有 查询收藏战绩的详细信息

主题选项: 傀影 水月 萨米 萨卡兹 界园 黑流树海

快捷指令: 战绩详情 收藏战绩详情 傀影肉鸽 水月肉鸽 萨米肉鸽 萨卡兹肉鸽 界园肉鸽 树海肉鸽

🎰 抽卡记录
指令 权限 说明
skland gacha [-r <序号>] 所有 查询默认或指定角色的完整抽卡记录
skland gacha -b <起始id> 所有 从指定位置开始查询
skland gacha -l <结束id> 所有 查询到指定位置结束
skland gacha -b <起始> -l <结束> 所有 查询指定范围的抽卡记录
skland import <url> [-r <序号>] 所有 导入小黑盒记录到默认或指定角色

快捷指令: 方舟抽卡记录 导入抽卡记录

🎰 终末地抽卡记录
指令 权限 说明
skland efgacha [-r <index>] 所有 更新并查看默认或指定角色的抽卡记录
skland efgacha -b <begin> -l <end> 所有 更新记录,并选择各类别卡池的展示范围
skland efgacha -l 3 所有 更新记录并只展示各类别前 3 个卡池

快捷指令: 终末地抽卡记录

🔧 资源管理
指令 权限 说明
skland sync 超级用户 同时更新图片和数据资源
skland sync --img 超级用户 仅更新图片资源
skland sync --data 超级用户 仅更新数据资源
skland sync --force 超级用户 强制更新,忽略版本检查
skland sync --update 超级用户 覆盖已存在的文件

快捷指令: 资源更新 → skland sync --data,仅更新数据;支持追加 --force 等参数,参数前需有空格。手动 skland sync 仍同时更新图片与数据。

🎨 暗语功能

暗语功能由 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 查看全部绑定账号和角色
切换方舟角色 <序号> skland char set ark <序号> 切换方舟默认角色
切换终末地角色 <序号> skland char set ef <序号> 切换终末地默认角色
角色更新 skland char update 逐账号同步角色
全体角色更新 skland char update --all 逐账号同步所有角色
资源更新 skland sync --data 更新游戏与卡池数据
树海肉鸽 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 efwar 查询战争回响赛季与轮换战绩
方舟干员 skland box 中文筛选词查询干员

角色序号按游戏分别计算,以最新 森空岛角色 卡片为准;例如 切换方舟角色 2 只切换方舟默认角色,不影响终末地。快捷指令和序号之间保留空格,是否需要 / 等命令前缀由 Bot 配置决定。

抽卡、战争回响、导入、干员、肉鸽、战绩详情及个人签到/状态的中文快捷指令同样支持追加 -r <序号>;例如 方舟抽卡记录 -r 2、终末地抽卡记录 -r 2、战争回响 -r 2、树海肉鸽 -r 2。

🪄 自定义快捷指令

基于 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 的快捷指令: "查战绩" 添加成功

📸 效果图

森空岛图片帮助

帮助总览

方舟干员筛选速查

终末地抽卡功能说明

🔮 游戏信息

明日方舟

方舟卡片

明日方舟:终末地

终末地卡片

🗃️ 方舟干员 Box

方舟干员box

🫖 肉鸽战绩

肉鸽战绩

🏆 战绩详情

战绩详情

🕵️‍♀ 线索板

线索板

🦭 抽卡记录

明日方舟

明日方舟抽卡记录

终末地

终末地抽卡记录

⚔️ 战争回响

战争回响战绩

💖 鸣谢

贡献者们

contributors

📢 声明

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

使用过程中,任何涉及个人账号隐私信息(如账号 token、cred 等)的数据,请勿提供给不信任的 Bot 所有者(尤其是 token)。

📋 TODO

  • 完善用户接口返回数据解析
  • 使用nonebot-plugin-htmlrender渲染信息卡片
  • 从yuanyan3060/ArknightsGameResource下载游戏数据、检查数据更新
  • 绘制渲染粥游信息卡片
  • 支持扫码绑定
  • 优化资源获取形式
  • 完善肉鸽战绩返回信息解析
  • 绘制渲染肉鸽战绩卡片
  • 粥游签到自动化
  • 实现抽卡记录获取及渲染
  • 支持抽卡记录导入(从小黑盒)
  • 抽卡记录分页
  • 支持终末地角色信息查询及签到
  • 支持终末地抽卡记录查询及分页
  • 实现 box 查询
  • 实现图鉴查询
  • 完善多服账号管理
  • 扬了不必要的 💩
  • 待补充,欢迎 pr

Metadata

Release files for nonebot-plugin-skland 0.7.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nonebot-plugin-skland 0.7.3
File Size Uploaded Provenance
nonebot_plugin_skland-0.7.3.tar.gz 23.3 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nonebot-plugin-skland 0.7.3
File Interpreter ABI Platform
nonebot_plugin_skland-0.7.3-py3-none-any.whl Python 3 none any Details

Total release size: 46.6 MB

Release files / nonebot_plugin_skland-0.7.3.tar.gz

Download URL nonebot_plugin_skland-0.7.3.tar.gz
Size 23.3 MB
Tags Source
SHA-256 checksum
How to use checksums
52d1af0de8f39061db1342591e3cf086c463a461b0df569c434ff5f0875c0ac6
BLAKE2b-256 checksum
How to use checksums
92a984039cc30bf2491ddf180e1d8eaf57ed268d7f83b7c562579daa217322c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / nonebot_plugin_skland-0.7.3-py3-none-any.whl

Download URL nonebot_plugin_skland-0.7.3-py3-none-any.whl
Size 23.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
dc5d2820815d77bbd95b871dc10eb1f6f52be2f0449476221e3857a31ebc0e8c
BLAKE2b-256 checksum
How to use checksums
cc5d0559169878fa31e3d571ee506de7fe48c834c5789e105d33e55d557d1762
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for nonebot-plugin-skland 0.7.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.7.3 This release

2 release files No provenance

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