Skip to content

FrostN0v0/nonebot-plugin-skland

Repository files navigation

NoneBotPluginLogo

nonebot-plugin-skland

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

license pypi 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__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%的概率是用不上的。只是因为我开发测试的时候上限了,所以有了这项,

本插件所使用的干员半身像技能图标等资源,均优先调用本地,不存在则从网络请求获取,所以本地资源更新非必要选项,按需填写,不想过多请求网络资源可以自动或指令手动更新下载本地资源。

background_source

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

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

以下是 CustomSource 用法示例

在配置文件中设置 skland__background_sourceCustomSource结构的字典

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 的快捷指令: "/兔兔签到" 添加成功

🫣 暗语表

Note

🧭 暗语使用指北

暗语消息来自 nonebot-plugin-argot 插件

对暗语对象回复对应的暗语指令即可获取暗语消息

暗语指令 对象 说明
background 信息卡片 查看背景图
clue 游戏信息 查看线索板

📸 效果图

🔮 游戏信息

示例图1

🫖 肉鸽战绩

示例图2

🏆 战绩详情

示例图3

🕵️‍♀ 线索板

线索板

🦭 抽卡记录

抽卡记录

💖 鸣谢

贡献者们

contributors

📢 声明

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

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

📋 TODO

  • 完善用户接口返回数据解析
  • 使用nonebot-plugin-htmlrender渲染信息卡片
  • yuanyan3060/ArknightsGameResource下载游戏数据、检查数据更新
  • 绘制渲染粥游信息卡片
  • 支持扫码绑定
  • 优化资源获取形式
  • 完善肉鸽战绩返回信息解析
  • 绘制渲染肉鸽战绩卡片
  • 粥游签到自动化
  • 实现抽卡记录获取及渲染
  • 支持抽卡记录导入(从小黑盒)
  • 抽卡记录分页
  • 实现满理智/干员训练完成订阅提醒
  • 扬了不必要的 💩
  • 待补充,欢迎 pr

About

通过森空岛查询游戏数据

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 6