Skip to content
RayleaBotPublic

About

绝区零独立查询、离线图鉴、公开展柜与抽卡档案

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

绝区零插件

独立的 RayleaBot Go/Vue 插件,要求包含通用插件服务能力的 Core。游戏增强直接在本插件内实现;账号使用独立的米游社账号插件。

当前能力

  • 通过 accounts v1 共用一次米游社登录,读取已授权角色并选择默认 UID;游戏插件不持有 CK。
  • 基础信息、实时便笺、角色列表与基础角色详情;当前主要挑战的摘要和已适配队伍记录。%邦布 按 Yunzai 原神插件出邦布列表图。
  • 按固定参考版本提供 163 条离线角色、装备等资料,支持查询和自定义别名。
  • 没有 CK 也可 %绑定uid<UID> 绑定 UID,%uid 列出、%uid<序号> 切换、%删除uid<序号> 删除。
  • 命令中 @ 他人时读取对方当前使用的 UID,如 %抽卡分析@某人、%艾莲面板@某人;只读取已保存的记录、面板与展柜,不使用对方账号。
  • 出现 10041 时按 ZZZ-Plugin 绑定设备:在私聊或群聊发送 %绑定设备 后,两分钟内发送设备信息(与上游一样建议私聊发送,在群里发送的成功后提示撤回),由米游社账号插件加密保存到持有当前 UID 的账号;%绑定设备帮助 以合并转发说明获取方法(设备信息工具的下载链接可在插件配置 device_download_url 修改,默认同上游),%解绑设备 恢复默认设备,国际服不需要绑定。超级管理员发送 %设置默认设备 后两分钟内发送安卓设备信息(须含 deviceName、deviceBoard、deviceModel、androidVersion、deviceFingerprint、deviceProduct),由账号插件加密保存为默认设备,供没有绑定设备的账号使用。
  • 面板按 UID 保存在本地:%更新面板 在已绑定账号时读取官方数据,否则或 %更新展柜面板 读取 Enka 展柜,同一 UID 在刷新面板间隔内(默认 60 秒,同 ZZZ-Plugin)只能更新一次;读取官方数据时与上游一样每次读取一个角色,两次之间等待刷新角色间隔(插件配置 panel_role_interval,默认 3000 毫秒),命令转入宿主的后台事件,在同一事件中读完全部角色后在原聊天回复;%面板列表 按 ZZZ-Plugin panel/list 出图,%练度统计 与上游一样读取保存的面板;%艾莲面板 等先读保存的面板,没有时读取本人账号。
  • 按 ZZZ-Plugin 自定义面板图:超级管理员发送 %上传艾莲面板图(随消息附带图片,或引用含图片、合并转发的消息)添加,%删除艾莲面板图1,2 按 ID 删除;%查看艾莲面板图[页码] 以合并转发每页列出五张及其 ID。面板随机选用该角色的一张,没有时使用默认立绘;与上游一样,看过面板后十分钟内发送 %原图 可取回面板上的立绘原图。图片保存在插件数据目录,每张不超过 5 MB。
  • 按 ZZZ-Plugin,私聊发送游戏内调频记录的链接(或先发 %抽卡链接)即读取全部频段的记录,无需账号,回复各频段新增与总条数;与上游默认设置相同,群聊中不接收链接。链接只在读取期间保存在内存中;收到链接的事件转入宿主的后台事件,读完全部频段后在原聊天回复。%获取抽卡链接 在私聊中经账号插件取得本人国服角色的抽卡链接;%刷新抽卡链接 与 %更新抽卡记录 相同,以账号读取记录。
  • 在聊天中导入导出抽卡记录(写法同 Yunzai 的原神与星铁,ZZZ-Plugin 没有此命令):%导入记录 后两分钟内发送 UIGF v4 文件(或文件的 https 链接),按记录 ID 去重合并;%导出记录 发送当前 UID 的 UIGF v4 文件。群聊中需写作 %强制导入记录、%强制导出记录,收到文件后提示撤回。大整数记录 ID 保持原样,原始本地时间不转换;文件缺少的名称、类型与星级按固定资料补全,导入失败不改变已有档案。
  • 超级管理员发送 %下载全部资源 时,除在后台更新素材仓库外,按 ZZZ-Plugin 预先下载模板按需使用的全部代理人、音擎、驱动盘与邦布图片,命令转入宿主的后台事件,全部下载后在原聊天回复各类总数与成败;%删除全部资源 与上游一样只删除按需下载的图片缓存(角色与装备图、官方头像、意象影画与官方图片缓存),素材仓库的下载与随插件附带的文件保留。
  • 独立的游戏查询、资料图鉴、抽卡档案、体力提醒与面板历史管理页,聊天结果优先渲染图片,渲染不可用时回退文本。游戏查询、提醒与收集、面板历史、群设置与排行、游戏签到、社区与云游戏、公告与活动按机器人账号分页,由宿主在页面上方切换账号,只显示所选机器人账号下的角色、任务、群与推送;其余页面为全局,其中抽卡档案按 UID 与区服保存,不属于任何机器人账号。帮助与版本页提供查询设置。

命令以 info.json 的实际声明为准,使用本插件的专属前缀,不响应宿主的通用前缀:默认 %、%、绝区零、绝区、zzz、ZZZ,管理员可在插件配置的 command_prefixes 中修改。下文以 % 为例,%体力 与 绝区零体力 等价。公开资料、公开 UID 展柜和管理页中的历史抽卡档案可在未安装账号插件时使用。聊天中的抽卡分析与 ZZZ-Plugin 相同,读取所指定 UID 或当前使用的 UID(含未绑定账号的 UID)的档案。

  • 管理页的“提醒与收集”可复用已绑定账号同步官方抽卡记录,支持增量/全量、取消和失败继续;读完所有卡池后才保存,避免半途失败改变原档案。
  • 重映/回响频段独立统计;含 UIGF 尚未收录卡池的档案按本插件的完整档案格式导出,可再次导入,不丢弃记录。

官方查询扩展

危局强袭战、拟境湮灭战、拟真鏖战试炼、临界推演、零号空洞、迷失之地、迷宫诡域、区域探索及菲林月报。

可在游戏查询页选择对应业务,或使用 info.json 中声明的命令。月份省略时读取官方默认月份;查询页可填 YYYYMM,聊天按 ZZZ-Plugin 紧接命令写月份,如 %月报上月、%菲林2025年3月(不写年份或早于 2023 年时为今年,0 月或未到的月份读取默认月份)。“上月”读取上一个月:上游把“上”当作数字换算,结果无效而总是读取默认月份,这里按其本意修正。挑战按上游在命令前写“上期”(或往期)查询上一期。命令后的内容(数字或“上期”“上月”等)不当作期数或月份,是 UID 时查询该 UID,否则与上游一样不作回应。

实际账号已验证可用只读端点及相关期次参数,未参与玩法的丰富历史记录仍需继续验收。受限功能保留在完整目标中。

详细面板与评分

角色面板展示官方属性、驱动盘词条、技能及影画;管理页可展开效果说明。%艾莲面板 按 ZZZ-Plugin panel/card 出图,末尾的伤害统计与 %艾莲伤害 同一计算:角色规则标为在面板显示的增益与各技能的暴击、期望伤害。

使用 %评分 角色 [UID],管理页也可计算。%艾莲伤害 按 ZZZ-Plugin 出伤害计算图:各技能的暴击与期望伤害,所选技能的乘区、生效增益,以及置换单位副词条、主词条后的期望伤害变化;%艾莲伤害3 选第 3 个技能,超出时取最后一个(上游写最后一个之后的序号时出错,这里一并修正),不写序号时取上游差异计算所用的技能(主要技能,否则期望伤害最高者)。与上游一样只计入其已有的音擎与驱动盘效果,本插件补充的音擎效果不参与;看过后十分钟内发送 %原图 可取回图中的立绘。评分与伤害先读本地保存的面板,没有时读取本人账号的官方面板并保存;权重按上游规则随角色当前属性、影画与配装自动选择。缺少必要数据的装备不评分。评分不是完整伤害计算。

记录与体力提醒

  • 抽卡档案的“查看统计”提供按池、稀有度、日期和物品筛选的分页明细,以及月份、物品分布和完整间隔均值;未知稀有度不输出确定保底,档案变化后重新从第一页读取。
  • “面板历史”页面主动读取并保存官方角色面板,每个角色最多 20 份,可查看、比较属性/配装/技能、导出或移除。保存时间与资料版本一并展示;撤销账号授权后不能继续访问历史。
  • “体力提醒”页面选择账号、阈值和期限,确认后开启每十分钟检查。只私聊账号所属用户,持续高于阈值只通知一次,低于阈值后重新待发。ZZZ-Plugin 没有体力推送,聊天中不提供开启命令。
  • 提醒状态跨重启保存,验证失败退避一天,账号移除/授权撤销/到期后暂停。发送结果不明确时不自动重复发送;进程恰在发送前崩溃可能漏一次通知。现有账号默认不启用提醒。

群内设置与主动参评

“群设置与排行”页面只显示所选机器人账号下的群,可编辑本游戏的群启停、图片/文本回复和群别名,并确认清空本地排行。群设置优先于全局,保存时校验版本;不同协议、机器人和群分别保存。聊天 %群设置 由群管理员、群主或超级管理员使用。

群成员在群内查询式舆防卫战、危局强袭战、拟境湮灭战、临界推演或拟真鏖战试炼后,按 ZZZ-Plugin 的做法加入本群对应排名(公开 UID、昵称与该次战绩)。%深渊排名、%危局排名、%绝境排名、%拟境排名、%推演排名、%爬塔S1排名 至 %爬塔S4排名 按上游规则列出本期前十五名,%爬塔排名 列出可查询的爬塔排名;%隐藏深渊排名、%显示深渊排名 等切换本人是否上榜,不写玩法时设置全部。已退群成员不再列出。超级管理员可用 %关闭群内深渊排名、%开启群内深渊排名 开关所有群的挑战排名(写哪种玩法都作用于全部;关闭时排名命令回复“当前群…排名功能已关闭!”,查询战绩也不再保存记录),在群内用 %重置深渊排名、%清空危局排名、%清空推演排名 只清空本群式舆防卫战、危局强袭战(与绝境共用一份排名)或临界推演的排名,玩法范围同上游。上游此命令删除的键与成员数据不符,实际什么也不清除,这里按其本意清除。

%艾莲技能(可接等级,与上游一样以英文句号或空格分隔,如 %艾莲技能12.12.10.12.12.6、%艾莲技能 12 12 10)与 %艾莲影画 按 ZZZ-Plugin 出技能与意象影画图,资料与上游一样读取第三方 Nanoka。

群内查看单个角色面板时,评分也记入本群,用 %排行 艾莲 按装备评分查看(上游没有绝区零面板排名)。这些排行不是全服排名;管理员可在管理页清空本群排行。

游戏签到与公共资料

“游戏签到”支持状态、当月奖励、单次领取和显式开启每日任务。聊天使用 %签到 [UID]、%签到状态 [UID]、%自动签到 开启/关闭 [UID]。自动任务默认北京时间 08:00、30 天、不主动通知;管理页可改时间、期限与私聊结果选项。验证码或首次绑定在官方应用处理;未确认的上游写入不反复重试。

“游戏查询”中的公共查询池入口只查询目标公开基础资料,使用本人主动加入公共池且仍授权本游戏的账号,不会借用私人账号。账号所有者在账号插件本人私聊中设置用途与预算;没有可用账号/额度时明确提示。

抽卡后台与每日同步

“提醒与收集”中的“后台同步”为已授权角色开始一次同步,可选增量/全量与完成后私聊账号所属用户;管理动作在同步开始后即返回,关闭页面后继续。页面列出最近的后台同步及其进度、结果或失败原因,可取消进行中的同步;删除档案会取消对应的同步。即时同步入口仍需保持页面打开。

“每日同步”为已授权角色开启 1–90 天的每日任务:账号插件为它签发只读抽卡委托,每天北京时间设定时刻后由宿主调度触发,在一个后台事件中读完并合并,可选完成后私聊账号所属用户。暂时失败五分钟后重试,同日三次失败后等待次日;委托撤销、设备验证或记录冲突会暂停,解决后可在页面重新运行,委托过期需移除后重建。删除档案会暂停该档案的每日同步,停止任务保留已有档案。

聊天按 ZZZ-Plugin 发送 %刷新抽卡记录 [UID](或更新抽卡、刷新抽卡链接等写法)用账号读取记录,先回复“抽卡记录获取中请稍等”,读完后在同一聊天回复各频段新增与总数。

以上同步都在宿主的后台事件中连续翻页,两页之间至少间隔一秒以避开米游社限流,全部池成功后才合并;读取期间档案被导入、删除或另一同步修改时不覆盖,原档案保留。插件重启会中断进行中的同步:单次同步需重新开始,每日同步由之后的触发重新读取这一轮。

开发与打包

工具链沿用 RayleaBot:Go 1.26.6、Node 26.7.0、pnpm 11.22.0。

node scripts/prepare-ui.mjs
corepack pnpm --dir ui install --frozen-lockfile
go test ./...
corepack pnpm --dir ui test
corepack pnpm --dir ui run build
$env:RAYLEA_PLUGIN_BUILD_USE_WORKSPACE='1'
go run github.com/RayleaBot/RayleaBot/sdk/go/cmd/raylea-plugin build-go --backend ./cmd/zzz --target windows-x64 --include DATA_SOURCES.md=DATA_SOURCES.md --include .rayleabot/source.zip=ui/source.zip

打包前运行 python scripts/bundle-artwork.py --references <参考项目/2026-09-15>,把模板用到的上游图片、字体与资料文件从固定提交复制到 assets/(不纳入版本库,构建时随包分发),再运行 python scripts/source-bundle.py 生成管理页提供下载的源码包。源码包含本插件与相邻 RayleaBot 的 SDK 源码及 go.work,可按上述命令构建;SDK v0.7.0 发布前,独立检出仍需相邻的 RayleaBot 仓库。

固定资料与计算脚本由 scripts/ 从已下载的参考项目(RayleaBot external/参考项目/<日期>)重新生成,依次运行:

$refs = '..\..\RayleaBot\external\参考项目\2026-09-15'
python scripts/import-reference-data.py --references $refs
python scripts/import-aliases.py $refs
python scripts/import-banner-data.py $refs
node scripts/bundle-reference-calculation.mjs $refs
node scripts/generate-reference-build-vectors.mjs

另支持 linux-x64 和 macos-arm64。数据文件位于宿主提供的本插件数据目录内;抽卡记录属于非凭据业务数据,使用原子文件替换保存。

当前验证与未完成项

Go 测试、Vue 类型检查、UIGF 导入导出测试和生产构建已通过。四进程开发 smoke 验证共用账号、授权撤销、默认角色、资料与抽卡档案,使用合成账号和模拟上游;主仓库另外验证真实 Registry 生命周期。浏览器使用模拟管理 API 验证查询、角色选择、资料查找、文件导入导出及删除确认。

体力聊天查询已通过真人验收。尚未完成其余真实业务查询、全角色伤害/装备评分、全部挑战详情与历史功能、社区/云游戏任务与其余提醒、海外认证及完整升级恢复验收。这是基础版本,不能视为参考插件的全部功能已经复刻。全量范围保留在 RayleaBot docs/plans/game-plugins/。

本项目采用 AGPL-3.0;管理页提供本版本对应源码下载。资料来源与上游许可保留固定快照信息。

查询、历史与群榜

查询结果下可展开完整分组和记录,切换期次/月份后重新查询。月报查询页可保存指定月份、依次保存官方可用月份、累计已保存收入及删除月份。明细和本地历史每次读取重新检查角色授权。

群内挑战排名见上文的式舆、危局、拟境、临界与爬塔排名。聊天 %挑战提醒 玩法 指标 阈值 [时间] [UID] 开启每日或每周(如“每周一20时”)的挑战目标检查,未达目标才私聊;%挑战提醒状态 查看,%关闭挑战提醒 [UID] 取消,不影响体力提醒。

按 ZZZ-Plugin,%开启挑战提醒 [UID] 同时开启式舆防卫战(S 评级层数,阈值 6 表示第五层还需 S+)与危局强袭战(星数)提醒,在个人或全局时间检查,两项合为一个提醒任务,每次检查后把未达阈值的项与上游一样合成一条“【式舆/危局挑战提醒】”私聊,读取失败的一项写作“…查询失败”,阈值为 0 的一项不检查;%关闭挑战提醒 关闭本人全部挑战提醒。%设置式舆阈值5(0–6,也可写“设置防卫战阈值”)、%设置危局阈值6(0–9)、%设置个人提醒时间每日20时(或“每周六20时10分”;上游每十分钟整点检查,要求分钟为整十,这里每五分钟调度、到点后的第一次调度即检查,因此分钟不限整十)、%个人提醒状态、%重置个人提醒时间 调整本人设置,已开启的提醒随之改变;%查询挑战状态 [UID] 立即查看两项状态。超级管理员用 %开启全局挑战提醒、%关闭全局挑战提醒(关闭后“开启挑战提醒”的提醒不再检查,也不能开启;详细的“挑战提醒 玩法 指标 阈值”不受影响)、%设置全局式舆阈值、%设置全局危局阈值、%设置全局提醒时间 修改插件配置中的全局值,默认每日20时、式舆 5 层、危局 6 星;%全局提醒时间 查看。该任务为两项各持一份 30 天委托,不检查是否为好友。

卡池资料页支持角色/装备历史、版本和日期筛选及出现次数;抽卡明细页可按版本统计本地档案。资料来自固定快照,推定日期及未覆盖记录明确标记。

聊天中按 ZZZ-Plugin 读取 GachaClock:%卡池(或本期卡池)回复进行中的卡池、剩余天数与卡池图片,%2.0卡池、%2.0上半卡池 回复该版本或半期,%卡池记录 以合并转发列出全部版本;%艾莲复刻记录 列出该代理人或音擎的各期卡池,%S级代理人复刻统计(A级、音擎同理)列出各项多少天未复刻。上游别名表以全名为键的浮波柚叶等五名代理人在上游查不到记录,这里改用 GachaClock 的短名;“2.1卡池”不再混入 2.10。

提醒页的“每日月报收集”可为所选角色开启有期限的每日保存,通知默认关闭。停止任务不删除已保存月报。

社区、兑换码与公开资料

聊天发送 %兑换码 查询官方前瞻兑换码,始终以可复制的文字回复,包含奖励及可用的有效期信息;开启图片回复时也使用文字。

“社区与云游戏”页提供账号级米游币和明确的社区操作,一次/每日任务可分别选择浏览、点赞和分享。云绝区零另需在账号插件配置加密云授权,钱包查询可能领取当日时长,操作前须确认。所有定时任务默认关闭。

“兑换码”页匿名读取官方前瞻代码;国服在游戏内兑换,已授权海外角色在“游戏查询”页使用固定官方兑换接口。

“公告与活动”页支持官方新闻分页、米游社搜索、文章全文分段及原图链接、国服活动日期。缺失活动时间保留原文,不把公告展示期限当作活动期限。群推送按 Yunzai 的米游社推送:群管理员发送 %开启公告推送、%开启资讯推送 开启(“开启”换成“关闭”停止),每五分钟向每个群推送两小时内的一条新帖(按上游屏蔽词过滤,同一帖十小时内不重复),按 mysNews 出图;超级管理员发送 %推送公告、%推送资讯 立即检查全部群。

“攻略与工具”页可选择并保存默认攻略来源、浏览合集和官方原图。超级管理员也可按 ZZZ-Plugin 发送 %设置默认攻略<序号>,写 0 或 all 时默认发送前几个来源的合集,个数由 %设置所有攻略显示个数4(1–7,默认 4)设置。未明确许可的外部攻略和图鉴素材不预装。管理员下载 Atlas 绝区零图鉴后,按 Atlas 为各模块设定的规则查找:%艾莲图鉴,以及其他命令都不匹配的 %艾莲、%深海访客,发送图鉴库中按顺序第一个收录它的模块的图片;%艾莲突破(或材料、素材、培养)只由 material for role 回答,发送该角色的培养材料图;未下载时提示管理员下载素材。

帮助与冲突设置

超级管理员可在聊天中按 ZZZ-Plugin 发送 %刷新面板间隔60(0–1000 秒)与 %刷新角色间隔3000(100–10000 毫秒),保存在插件配置中。ZZZ-Plugin 的刷新抽卡间隔只被保存、从未生效,因此不复刻。上游的渲染精度由宿主渲染控制,插件更新与更新日志由宿主管理,也不提供对应命令。

“帮助与版本”页及帮助/版本命令使用安装包同版本的命令声明。自定义别名优先于内置名称,群别名优先于全局别名;管理页会列出覆盖了内置名称的别名。

国服与海外授权由账号插件区分,游戏侧仍使用同一服务。

About

绝区零独立查询、离线图鉴、公开展柜与抽卡档案

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages