nonebot_plugin_arktools
nonebot_plugin_arktools copied to clipboard
基于 OneBot 适配器的 NoneBot2 明日方舟小工具箱插件
Nonebot_Plugin_ArkTools
✨ 基于 OneBot 适配器的 NoneBot2 明日方舟小工具箱插件 ✨
本人python小萌新,插件有不完善和可以改进之处欢迎各位多提pr和issue
- 功能
- 安装
- 使用
- 示例
- 感谢
- 更新日志
功能
已实现:
- [x] 可以查询推荐的公招标签(截图识别/手动输文字)
- [x] 可以查询干员的技能升级材料、专精材料、精英化材料、模组升级材料
- [x] 可以通过网易云点歌,以卡片形式发送
- [x] 猜干员小游戏,玩法与 wordle 相同
- [x] 可以查看生日为今天的干员
- [x] 可以记录当前理智,等回复满后提醒
- [x] 指定群聊自动推送最新游戏公告
- [x] 查询、订阅、推送 MAA 作业站的作业
编写中...
- [ ] 可以查询某种资源在哪个关卡期望理智最低
- [ ] 根据当前有的资源和需要的资源种类、数量测算最优推图计划
- [ ] 查询某干员的基础数据:
- [ ] 给定等级、信赖、潜能下的基础面板
- [ ] 天赋、特性、技能
- [ ] 干员种族、势力、身高等基本个人信息
- [ ] 定时提醒剿灭 / 蚀刻章 / 合约等活动过期
安装
- 使用 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" # 数据库
...
各配置项的含义如上。
![](https://user-images.githubusercontent.com/52584526/219335891-37933d79-1b52-4452-8959-04861087f4e8.png)
干员昵称
位置默认在 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 ...] | [热度/最新/访问] => 同上,不过可以指定按什么顺序查询
图片示例
点击展开
图片们
![](https://user-images.githubusercontent.com/52584526/218328291-2324ea20-74c4-4182-81ed-4b74950c3ef9.png)
![](https://user-images.githubusercontent.com/52584526/218328307-f71e08ff-2370-4fb9-8898-c76f7e06a168.png)
![](https://user-images.githubusercontent.com/52584526/218328316-9259d9e6-6c2f-40e9-87bd-cee68da240e2.png)
![](https://user-images.githubusercontent.com/52584526/218328320-9ee76c53-dcf2-4245-b302-ea1df7927772.png)
![](https://user-images.githubusercontent.com/52584526/218328326-0fc07fc7-0aa9-42b9-83e1-6eb490f4cff2.png)
![](https://user-images.githubusercontent.com/52584526/218328333-770d08e6-76c6-4087-9d62-75e302ca5f66.png)
![](https://user-images.githubusercontent.com/52584526/218328340-ce4ade0d-d00d-4520-8632-544940a1cc96.png)
![](https://user-images.githubusercontent.com/52584526/218328344-2b9b0cda-3894-451b-9ea0-d7aeec7d200c.png)
![](https://user-images.githubusercontent.com/52584526/218328356-a8a511c4-fa62-481b-af92-71052a087670.png)
![](https://user-images.githubusercontent.com/52584526/218328361-95ae9117-cd5e-4295-982c-9498e0b880fb.png)
![](https://user-images.githubusercontent.com/52584526/232200400-43d46da2-09a7-4e89-9cd0-dacc2cfe3c9c.png)
![](https://user-images.githubusercontent.com/52584526/232200403-275f5ef9-bcd3-4bd3-9aa5-3429bb0ecff9.png)
![](https://user-images.githubusercontent.com/52584526/232200407-b689d0af-e764-4254-9689-f871af80b079.png)
感谢
- yuanyan3060 的 明日方舟常用素材库
- Aceship 的 Arknight-Images
- AmiyaBot 的 Amiya-bot
- Strelizia02 的 AngelinaBot
- MaaAssistantArknights 的 MAA
更新日志
点击展开
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
2022-09-24 v0.5.7
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
- 添加了查询今日开放资源关卡的功能