Skip to main content

基于 OneBot 适配器的 NoneBot2 明日方舟小工具箱插件

Project description

nonebot

Nonebot_Plugin_ArkTools

✨ 基于 OneBot 适配器的 NoneBot2 明日方舟小工具箱插件 ✨

OSCS Status star

本人python小萌新,插件有不完善和可以改进之处欢迎各位多提pr和issue

功能

已实现:

  1. 可以查询推荐的公招标签(截图识别/手动输文字)
  2. 可以查询干员的技能升级材料、专精材料、精英化材料、模组升级材料
  3. 可以通过网易云点歌,以卡片形式发送
  4. 猜干员小游戏,玩法与 wordle 相同
  5. 可以查看生日为今天的干员
  6. 可以记录当前理智,等回复满后提醒
  7. 指定群聊自动推送最新游戏公告
  8. 查询、订阅、推送 MAA 作业站的作业

编写中...

  1. 可以查询某种资源在哪个关卡期望理智最低
  2. 根据当前有的资源和需要的资源种类、数量测算最优推图计划
  3. 查询某干员的基础数据:
    1. 给定等级、信赖、潜能下的基础面板
    2. 天赋、特性、技能
    3. 干员种族、势力、身高等基本个人信息
  4. 定时提醒剿灭 / 蚀刻章 / 合约等活动过期

安装

  • 使用 pip
pip install -U nonebot_plugin_arktools
  • 使用 nb-cli
nb plugin install nonebot_plugin_arktools

如何使用

启动注意

  • 每次启动并连接到客户端后会从 明日方舟常用素材库(yuanyan3060), 《明日方舟》游戏数据库(Kengxxiao), Arknight-Images(Aceship) 下载使用插件必需的文本及图片资源到本地,已经下载过的文件不会重复下载。下载根据网络情况不同可能耗时 5 分钟左右
  • 如需手动更新,请用命令 “更新方舟素材” 进行更新
  • 如果自动下载失败,请手动下载发行版中的 data.zip”/“data.tar.gz 压缩文件,解压到 “机器人根目录” 文件夹下(即运行 nb run 命令的文件夹/ bot.py 的文件夹)。正确放置的文件夹结构应为:
举例:
├── data
│   └── arktools
│       ├── arknights
│       │   ├── gamedata
│       │   │   └── excel
│       │   │       └── ...
│       │   ├── gameimage
│       │   │   └── ...
│       │   ├── processed_data
│       │   │   └── nicknames.json
│       │   └── ...
│       ├── fonts
│       │   ├── Arknights-en.ttf
│       │   └── Arknights-zh.otf
│       ├── guess_character
│       │   ├── correct.png
│       │   ├── down.png
│       │   ├── up.png
│       │   ├── vague.png
│       │   └── wrong.png
│       └── ...
├── plugin
│   └── nonebot_plugin_arktools
│       ├── src
│       └── ...
├── .env
├── .env.dev
├── .env.prod
...

.env.env 配置项

# 百度 OCR 配置,公招识别截图用
# 具体见 https://console.bce.baidu.com/ai/?fromai=1#/ai/ocr/app/list
ARKNIGHTS_BAIDU_API_KEY="xxx"    # 【必填】百度 OCR API KEY
ARKNIGHTS_BAIDU_SECRET_KEY="xxx"   # 【必填】百度 OCR SECRET KEY

# 代理配置,如部署机器人的服务器在国内大陆地区可能需要修改
GITHUB_RAW="https://raw.githubusercontent.com"   # 默认为 https://raw.githubusercontent.com,如有镜像源可以替换,如 https://ghproxy.com/https://raw.githubusercontent.com
GITHUB_SITE="https://github.com"  # 默认为 https://github.com,如有镜像源可以替换,如 https://kgithub.com
RSS_SITE="https://rsshub.app"  # 默认为 https://rsshub.app,如有镜像源可以替换

# 定时任务配置,默认是关闭的
ANNOUNCE_PUSH_SWITCH=False  # 是否自动推送舟舟最新公告,默认为 False; True 为开启自动检测
ANNOUNCE_PUSH_INTERVAL=1  # 自动推送最新公告的检测间隔,上述开关开启时有效,默认为 1 分钟
SANITY_NOTIFY_SWITCH=False  # 是否自动检测理智提醒,默认为 False; True 为开启自动检测
SANITY_NOTIFY_INTERVAL=10  # 自动检测理智提醒的检测间隔,上述开关开启时有效,默认为 10 分钟
MAA_COPILOT_SWITCH=False  # 是否自动推送MAA作业站新作业,默认为 False; True 为开启自动检测
MAA_COPILOT_INTERVAL=60  # 自动推送MAA作业站新作业的检测间隔,上述开关开启时有效,默认为 60 分钟

# 启动前素材检查配置,默认是开启的
ARKNIGHTS_UPDATE_CHECK_SWITCH=True  # 是否在启动bot时检查素材版本并下载,默认为True; False 为禁用检查

# 资源路径配置,默认在启动机器人的目录中/运行nb run的目录中/放bot.py的目录中
ARKNIGHTS_DATA_PATH="data/arktools"                                   # 资源根路径,如果修改了根路径,下方路径都要修改
ARKNIGHTS_FONT_PATH="data/arktools/fonts"                             # 字体路径
ARKNIGHTS_GAMEDATA_PATH="data/arktools/arknights/gamedata"            # 游戏数据
ARKNIGHTS_GAMEIMAGE_PATH="data/arktools/arknights/gameimage"          # 游戏图像
ARKNIGHTS_DB_URL="data/arktools/databases/arknights_sqlite.sqlite3"   # 数据库

...

各配置项的含义如上。

干员昵称

位置默认在 data/arknights/processed_data/nicknames.json 键为干员中文名称,值为昵称,可自行修改。

指令

点击展开

详细指令

使用以下指令触发,需加上指令前缀

格式:
指令 => 含义
[] 代表参数
xxx/yyy 代表 xxx 或 yyy

杂项

方舟帮助 / arkhelp   => 查看指令列表
更新方舟素材          => 手动更新游戏数据(json)与图片
更新方舟数据库        => 手动更新数据库
更新方舟数据库 -D     => 删除原数据库各表并重新写入

猜干员

猜干员    => 开始新游戏
#[干员名] => 猜干员,如:#艾雅法拉
提示      => 查看答案干员的信息
结束      => 结束当前局游戏

今日干员

今日干员 => 查看今天过生日的干员

塞壬点歌

塞壬点歌 [关键字] => 网易云点歌,以卡片形式发到群内

干员信息

干员 [干员名] => 查看干员的精英化、技能升级、技能专精、模组解锁需要的材料

公开招募

公招 [公招界面截图]          => 查看标签组合及可能出现的干员
回复截图:公招               => 同上
公招 [标签1] [标签2] ...    => 同上

理智提醒

理智提醒                    => 默认记当前理智为0,回满到135时提醒"
理智提醒 [当前理智] [回满理智] => 同上,不过手动指定当前理智与回满理智"
理智查看                    => 查看距离理智回满还有多久,以及当期理智为多少"

公告推送

添加方舟推送群 / ADDGROUP   => 添加自动推送的群号
删除方舟推送群 / DELGROUP   => 删除自动推送的群号
查看方舟推送群 / GETGROUP   => 查看自动推送的群号

MAA 作业站相关

maa添加订阅 / ADDMAA [关键词1 关键词2 ...]  => 添加自动推送的关键词
maa删除订阅 / DELMAA [关键词1 关键词2 ...]  => 删除自动推送的关键词
maa查看订阅 / GETMAA                      => 查看本群自动推送的关键词

maa查作业 [关键词1 关键词2 ...]                   => 按关键词组合查作业,默认为最新发布的第一个作业
maa查作业 [关键词1 关键词2 ...] | [热度/最新/访问]  => 同上,不过可以指定按什么顺序查询

图片示例

点击展开

图片们

感谢

更新日志

点击展开

2023-05-04 v1.2.0

  • 更换数据源 @issue/42
  • 更新数据键值对
  • 修复了使用 ghproxy 作为 github 镜像时无法获取数据的问题
  • 添加了删表重写功能
  • 修复了从 maa 作业站自动推送作业出错的问题

2023-04-15 v1.1.0

  • 公招查询、猜干员、理智提醒现在均可以私聊进行 (不推荐,私聊发消息可能导致风控)
  • 简易修复了与其它同用 Tortoise-ORM 的插件初始化冲突的问题 @zx-issue/15
  • 添加在群聊查询、订阅、推送 MAA 作业站作业的功能
  • 修复了更新数据库中某张表格时会删除所有表格的问题

2023-04-08 v1.0.20

  • 修复因素材库更新滞后导致无法查看干员的问题

2023-04-07 v1.0.19

  • 修复更新数据库命令不会强制覆盖更新的问题

2023-04-06 v1.0.18

  • 修复了舟舟更新数据结构导致的创建表单错误

2023-04-04 v1.0.17

  • 添加数据库初始化检查,不再每次启动bot时重复创建
  • 添加每次启动 bot 时的数据更新检查开关,默认启用 @issue/39

2023-03-28 v1.0.15

  • 猜干员与干员信息功能可以使用干员昵称(可自行增删改查)

2023-03-24 v1.0.14

  • 修复阿米娅与近卫阿米娅冲突的问题 @zx-issue/13

2023-03-08 v1.0.12

  • 添加 rsshub 代理配置项 @issue/34
  • 修复公招命令不处理的问题 @issue/35
  • 添加方舟素材/资源路径配置项,现在默认在机器人根目录下 data/arktools 文件夹 @issue/36
  • 修复查询暮落干员信息时会选中空白暮落的问题

2023-02-20 v1.0.11

  • 修复最新版本检测出错的问题

2023-02-19 v1.0.9

  • 添加定时任务配置项
  • 修复定时任务导致其它处理器阻塞的问题 @issue/30 @zx-issue/9
  • 修复猜干员无法判断重复猜的问题 @zx-issue/10
  • 修复猜干员结果图不按顺序绘制的问题

2023-02-16 v1.0.8

  • 移除 nb plugin install 安装命令,无法识别最新版本号 @issue/28
  • 修改百度 OCR 配置项名称 @issue/29
  • 修复资源下载与数据库初始化顺序不一致的问题
  • 补充更多错误提示信息

2023-02-15 v1.0.7

  • 添加自动推送最新公告功能 @issue/10
  • 修复最新图像资源落后版本的问题
  • 修复启动 nonebot 时不检查素材最新版本的问题

2023-02-13 v1.0.6

  • 添加请求素材时的错误反馈

2023-02-13 v1.0.5

  • 可替换 github 镜像源,原先的 kgithub.com 可能出现无法请求的问题@issue/26

2023-02-13 v1.0.3

  • 重构插件目录结构
  • 优化原有功能实现:干员信息、公招查询、理智提醒、塞壬点歌 @issue/19 @issue/21
    • 公招查询的截图识别改为 百度 OCR (腾讯 OCR 太拉了,识别不出烫金的高资和资深)
    • 换用 tortoise-orm 进行本地数据库异步读写
    • 优化联网请求资源时的效率
  • 添加新功能:猜干员、今日干员、帮助图片
  • 最低支持 Python 版本上调至 Python3.8,与 Nonebot2-rc2 一致

2022-09-27 v0.5.8

  • 修复理智恢复提醒文件检测不存在问题 @issue/16
  • 重新添加文字公招查询 @issue/17 @issue/18
  • 优化干员查询:干员不存在时提醒
  • 优化公招查询:反馈检测到的公招标签

2022-09-24 v0.5.7

  • 修复干员公招查询算法问题 @issue/13
  • 修复干员公招查询作图重叠问题
  • 修复文件不存在报错问题 @issue/15
  • 优化公招查询结果

2022-09-23 v0.5.6

  • 干员查询添加模组材料查询

2022-09-15 v0.5.5

  • 修复了json文件不会覆盖下载的问题
  • 修复了公招识别读取头像路径的问题 @issue/11

2022-09-01 v0.5.4

  • 修改资源获取方式为启动 nonebot 后下载到本地
  • 修复了检测路径缺失的问题 @issue/8

2022-09-01 v0.5.3

  • 修复未导入 os 模块的问题

2022-09-01 v0.5.2

  • 修复公招保存图片出错和缺少文件的问题 @issue/7

2022-09-01 v0.5.1

  • 重写了查询推荐公招标签的功能 @issue/6

2022-08-29 v0.5.0

  • 添加了查询干员的技能升级材料、专精材料、精英化材料的功能

2022-06-03 v0.4.1

  • 修复了发行版和源码不匹配的问题 @issue/4

2022-06-03 v0.4.0

  • 添加了查询推荐公招标签的功能

2022-05-30 v0.3.0

  • 向下兼容到 Python 3.7.3 版本 @issue/2

2022-05-30 v0.2.1

  • 修复了使用 nb plugin install 命令安装后无法正常工作的问题 @issue/1

2022-05-26 v0.2.0

  • 添加了查询最新活动信息的功能

2022-05-24 v0.1.0

  • 添加了查询今日开放资源关卡的功能

Project details


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_arktools-1.2.0.tar.gz (62.8 kB view hashes)

Uploaded Source

Built Distribution

nonebot_plugin_arktools-1.2.0-py3-none-any.whl (71.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page