nonebot-plugin-miao
原神 / 崩坏:星穹铁道的 NoneBot2 抽卡记录与角色面板插件,并提供原神、星铁、绝区零的模拟抽卡与角色攻略图。移植自 miao-plugin(MIT),支持 OneBot V11。
功能
- Authkey 抽卡记录更新、分析、按版本统计、UIGF / SRGF 导入导出
- 原神、星铁、绝区零模拟单抽/十连、多角色池与装备池选择、保底、原神武器定轨和每日次数限制
- 三游戏国服卡池从官方公开接口自动同步,按开放时间切换,无需绑定 UID 或 Cookie
- Enka(原神)、Mihomo(星铁)、米游社 Cookie 面板更新
- 属性计算、圣遗物 / 遗器评分、面板列表 / 详情 / 伤害图片
- 原神角色与武器图鉴、名称索引(无需绑定 UID)
- 原神、星铁与绝区零角色攻略图(分游戏来源、本地缓存、强制刷新与默认来源设置)
安装
nb plugin install nonebot-plugin-miao-genshin
pip install nonebot-plugin-miao-genshin
poetry add nonebot-plugin-miao-genshin
注意:PyPI 上的
nonebot-plugin-miao是他人发布的无关项目,请勿安装;本插件的 PyPI 包名为nonebot-plugin-miao-genshin(导入模块名仍为nonebot_plugin_miao)。
配置
均有默认值;在 NoneBot .env 中按需覆盖。
| 配置项 | 默认值 | 说明 |
|---|---|---|
MIAO_RES_MIRROR |
jsDelivr miao-plugin resources | 角色图片与静态资源镜像 |
MIAO_PROFILE_INTERVAL |
3 |
面板更新冷却(分钟) |
MIAO_MYS_COOKIE |
空 | 全局米游社 Cookie(可选) |
MIAO_GACHA_DAILY_LIMIT |
1 |
每款游戏每日模拟额度,1 代表 10 抽;同游戏所有卡池合计,SUPERUSER 不限 |
MIAO_GACHA_POOL_INTERVAL |
60 |
官方模拟卡池同步间隔(分钟,至少 1);查看/抽取时按需检查,后台每 5 分钟检查是否到期 |
MIAO_RES_AUTO_UPDATE |
True |
每日自动更新面板资源(凌晨 4:20,需 nonebot-plugin-apscheduler) |
MIAO_STRATEGY_DEFAULT_SOURCE |
1 |
原神角色攻略图默认来源(1-7,可被设置指令覆盖) |
MIAO_SR_STRATEGY_DEFAULT_SOURCE |
1 |
星铁角色攻略图默认来源(1-3,可被设置指令覆盖) |
MIAO_ZZZ_STRATEGY_DEFAULT_SOURCE |
1 |
绝区零角色攻略图默认来源(1-4,可被设置指令覆盖) |
指令
| 指令 | 范围 | 说明 |
|---|---|---|
/绑定uid <UID> / /星铁绑定uid <UID> |
群聊、私聊 | 绑定游戏 UID |
/绑定cookie <cookie> |
仅私聊 | 绑定米游社 Cookie |
/更新抽卡记录 / /抽卡分析 / /全部池统计 |
群聊、私聊 | 抽卡记录与统计;星铁命令前加“星铁” |
十连 / 十连2 / 武器十连 / 单抽 |
群聊、私聊 | 原神模拟抽卡,可选当期两个角色池和武器池 |
星铁十连[编号] / 星铁光锥十连[编号] |
群聊、私聊 | 星铁角色池/光锥池,编号省略时为第 1 池 |
绝区零十连[编号] / 绝区零音擎十连[编号] |
群聊、私聊 | 绝区零角色池/音擎池,包含并行复刻池 |
/卡池列表 / /星铁卡池列表 / /绝区零卡池列表 |
群聊、私聊 | 显示当前 UP、截止时间和每个卡池的抽取指令 |
/更新卡池 / /更新星铁卡池 / /更新绝区零卡池 |
群聊、私聊 | 立即重新同步对应游戏官方卡池 |
/定轨 / /定轨1 / /定轨2 / /定轨0 |
群聊、私聊 | 原神武器池定轨:循环选择 / 选第 1 把 / 选第 2 把 / 取消 |
/导入记录 / /导出记录 |
群聊、私聊 | UIGF / SRGF 记录交换 |
/更新面板 / /米游社更新面板 |
群聊、私聊 | 更新角色面板 |
/面板列表 / /角色名面板 / /角色名伤害2 |
群聊、私聊 | 查看面板与指定伤害条目 |
/角色图鉴 / /武器图鉴 |
群聊、私聊 | 查看原神角色或武器名称索引 |
/芙宁娜图鉴 / /雾切图鉴 |
群聊、私聊 | 查看角色或武器的详细图鉴;也支持 # 前缀 |
/心海攻略[1-7] |
群聊、私聊 | 查看原神角色攻略图;末尾数字选择攻略来源 |
/更新心海攻略[1-7] |
群聊、私聊 | 忽略本地缓存并重新获取攻略图 |
/星铁流萤攻略[1-3] |
群聊、私聊 | 查看星铁角色攻略图,支持现有星铁角色别名 |
/绝区零星见雅攻略[1-4] |
群聊、私聊 | 查看绝区零角色攻略图,请使用角色正式名称 |
/攻略帮助 / /星铁攻略帮助 / /绝区零攻略帮助 |
群聊、私聊 | 查看全部或指定游戏的攻略来源 |
/设置默认攻略2 / /设置星铁默认攻略2 / /设置绝区零默认攻略2 |
群聊、私聊 | 分游戏持久化设置默认来源 |
/圣遗物列表 / /面板帮助 / /抽卡帮助 |
群聊、私聊 | 列表与帮助 |
除模拟抽卡外,所有功能均要求以 / 开头;图鉴和攻略指令额外兼容 Yunzai 常用的 # 前缀。发送 Authkey 抽卡链接时,也需要在完整链接前添加 /。
三游戏模拟抽卡
- 默认不带游戏名为原神。
十连、十抽、10连、10抽均可;换成单抽就只扣除 1 抽并推进 1 次保底。模拟指令兼容/、#前缀。 - 角色池与装备池分别编号。例如
星铁十连2抽第二个角色池,星铁光锥十连2抽第二个光锥池;绝区零音擎十连2抽第二个音擎池。以当前卡池列表为准,不存在的编号会提示,不会消耗次数。 - 常驻池:
常驻十连、星铁常驻十连、绝区零常驻十连。星铁联动角色/光锥池也会列出,并与普通活动池分别保存保底。 - 三款游戏分别保存保底和每日额度。同游戏普通角色活动池之间共享保底,装备池之间共享另一份保底,常驻池独立;群聊和私聊沿用各自的用户存档。每日北京时间 04:00 重置额度,保底不清零。
- 原神旧存档保留累计抽数和大小保底。武器命定值上限为 1;换期清空定轨及命定值,保留武器大小保底。旧存档无法确认定轨所属期次时,也会清空定轨及命定值。
卡池使用官方国服公开数据:原神、星铁、绝区零。每次同步读取全部受支持卡池的中文详情,更新 UP、陪跑四星、常驻物品和基础概率;新角色不依赖插件内置角色表。结果优先使用官方提供的图片,缺图时显示名字占位卡。
首次使用联网获取并持久化缓存,此后按配置自动同步。后台每 5 分钟检查;查看或抽取时也检查同步期限及开池/结束时间,所以机器人重启后仍可自动恢复。自动同步独立于 MIAO_RES_AUTO_UPDATE。接口故障只使用仍有效的旧缓存并提示,过期或尚未开放的池不会参与抽取,失败后至少间隔 1 分钟重试。
模拟器实现基础概率、90 抽角色/常驻保底、80 抽装备保底、四星保底、大小保底及原神武器定轨;软保底使用模拟递增曲线。目前不模拟原神捕获明光、常驻新手优惠/自选奖励、星铁「星缘相邀」或绝区零「定制调频」自选名单,也不包含集录、新手专池和邦布池。上述自选名单按未自定义时的官方默认物品表处理。
攻略来源编号按游戏分别计算:
- 原神:1 西风驿站、2 原神观测枢、3 派蒙喵喵屋、4 OH是姜姜呀、5 曉K、6 坤易、7 婧枫赛赛。
- 星铁:1 列车广播、2 牧牧Muu、3 丶ATRI丶。
- 绝区零:1 绳么东西BROADCAST、2 烟雨如诗、3 丶ATRI丶、4 小橙子阿。
攻略数据来自米游社公开合集,新域名不可用时会自动尝试旧域名。星铁和绝区零会继续进入合集链接的具体攻略帖,排除文章封面后返回正文攻略图;接口不可用或对应来源未收录角色时,插件会返回中文提示。绝区零目前没有随包角色元数据,指令直接按正式角色名匹配,因此新角色无需等待插件更新,但不保证识别简称。
移植对照
| miao-plugin 功能 | 本插件位置 | 状态 |
|---|---|---|
| 抽卡记录、分析、模拟 | gacha/、datasource/gacha_log.py |
已实现 |
| Enka / Mihomo / 米游社面板 | datasource/ |
已实现 |
| 属性、评分与伤害规则 | core/、dmg/ |
已实现 |
| 面板和抽卡卡片 | render/ |
已实现 |
| 原神角色与武器图鉴 | commands/encyclopedia.py、render/encyclopedia.py |
已实现 |
| 原神、星铁、绝区零角色攻略图 | commands/strategy.py、datasource/strategy.py |
已实现(分游戏来源、缓存、刷新、默认来源) |
未移植:群内排名、练度统计、面板图上传、私有 API、备选面板源与 Yunzai 按钮交互。
开发
poetry install
poetry run python -m compileall nonebot_plugin_miao
poetry run pytest -v
poetry run ruff check .
致谢与许可
本项目使用 MIT License。
Metadata
Release files for nonebot-plugin-miao-genshin 0.1.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nonebot_plugin_miao_genshin-0.1.18.tar.gz | 7.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nonebot_plugin_miao_genshin-0.1.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.7 MB
Release files / nonebot_plugin_miao_genshin-0.1.18.tar.gz
| Download URL | nonebot_plugin_miao_genshin-0.1.18.tar.gz |
|---|---|
| Size | 7.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ecf47fcb87ea3f7d069d82125fb964c4feba13ce229233500f387610a1f8250
|
|
BLAKE2b-256 checksum How to use checksums |
1eaea543090a5d45d4ee7065ca9229d78392d7757ef72b8b1f3ed33449ffd343
|
| 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_miao_genshin-0.1.18-py3-none-any.whl
| Download URL | nonebot_plugin_miao_genshin-0.1.18-py3-none-any.whl |
|---|---|
| Size | 8.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
305da07c741cda785abcc38b49de1ea40d7c17cda070a50d455d5d1ac84fa325
|
|
BLAKE2b-256 checksum How to use checksums |
30e43e7f12c6ce7be3dcf6672f5bb685245d526dbb995294ef485b4c55833708
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|