Skip to content

ZHwash/astrbot_plugin_rocom

 
 

Repository files navigation

🏰 astrbot_plugin_rocom

由于前端正在构建,正式发布前端前可使用测试key:

sk-ff14f964051a5c966564e29b5bd3a768

WeGame 洛克王国数据查询

LOGO

GitHub stars GitHub forks GitHub issues AstrBot

🚀 基于 WeGame API & 洛克王国数据 的查询工具 v3.0.0

扫码绑定 · 个人档案 · 家园查询 · 最近战绩 · 精灵背包 · 阵容助手

如果这个插件对你有帮助,请点亮⭐支持一下!


📑 目录


✨ 特性一览

账号管理 - 扫码登录 (QQ/微信)/凭证导入/多账号切换/删除绑定,主账号快速切换

消息撤回 - 登录链接与二维码超时、完成或被拒时自动撤回,保护账号安全

数据查询 - 个人档案可视化渲染、家园菜园/守卫/室内精灵、近期对战详情、背包精灵图鉴检索、交换大厅、远行商人、阵容推荐

查蛋配种 - 离线蛋组查询、配种兼容性判断,支持精确/模糊/多候选智能匹配,并接入后端尺寸反查

图片展示 - 深度还原 WeGame 各级视觉效果的排版与艺术风格字体字形重绘,自带自适应宽度渲染

阵容助手 - 热门阵容推荐、2x3 网格布局展示、阵容码查询、详细技能配置

Wiki百科(离线版) - 基于本地数据库的宠物/技能/道具/家具查询,支持属性克制、颜色筛选、进化链、分支进化列表等(数据来自 BiliGame WIKI,CC BY-NC-SA 4.0)

Ingame 查询 - 支持玩家搜索、商店信息、好友关系、学生认证与学生活动等新版文档接口


🔧 安装与配置

快速安装

在 AstrBot 插件管理器中搜索 astrbot_plugin_rocom 安装,或通过 Git 克隆:

cd AstrBot/data/plugins
git clone https://github.com/Entropy-Increase-Team/astrbot_plugin_rocom.git

环境依赖

确保已安装 Playwright 浏览器内核:

playwright install chromium

配置项说明

配置项 类型 默认值 说明
api_base_url string https://wegame.shallow.ink API 服务后端地址
wegame_api_key string ⚠️ 必填,拥有 wegame 作用域的 API Key,统一用于各项查询获取
render_timeout number 30000 图片渲染超时时间(毫秒)
merchant_subscription_enabled bool true 是否启用远行商人订阅推送(固定在 08:01 / 12:01 / 16:01 / 20:01 检查,空结果每 4 分钟最多重试 3 次)
merchant_subscription_items list ["国王球","棱镜球","炫彩精灵蛋"] 远行商人默认订阅商品
merchant_private_subscription_enabled bool true 是否允许用户在私聊中订阅远行商人推送
home_subscription_enabled bool true 是否启用家园菜园和精灵灵感订阅推送
home_subscription_interval_minutes int 5 家园订阅检查间隔(分钟),按首个完成/全部完成两档推送

安全免责声明

  • 绑定后的 tokenticket、扫码凭证等均属于敏感信息,请务必自行妥善保存。
  • 请勿截图公开、发送他人,或提交到公开仓库,避免凭证泄露后被冒用。
  • 因凭证或绑定信息泄露导致的账号风险、查询被冒用或相关损失,需要由使用者自行承担。
  • 非必要不要频繁手动刷新凭证,服务端会自动刷新。

📁 项目结构

astrbot_plugin_rocom/
├── main.py                 # 插件入口,指令路由
├── metadata.yaml           # 插件元数据
├── _conf_schema.json       # WebUI 配置 schema
├── core/                   # 核心逻辑
│   ├── client.py           # API 异步客户端
│   ├── user.py             # 用户数据中心
│   └── render.py           # HTML 渲染助手
├── data/                   # 持久化存储
│   └── users.json          # 用户绑定数据
├── img/                    # 各项渲染所需依赖底图
├── ttf/                    # 无衬线免税字体库
├── wiki/                   # Wiki百科模块
│   ├── src/                # 爬虫和数据服务
│   │   ├── db_service.py   # 数据库服务
│   │   ├── pet_detail.py   # 宠物详情爬虫
│   │   ├── skill_detail.py # 技能详情爬虫
│   │   ├── item_detail.py  # 道具详情爬虫
│   │   ├── furniture_detail.py  # 家具详情爬虫
│   │   ├── color_extractor_vision.py  # 颜色提取器(视觉模型)
│   │   ├── build_wiki_db.py  # 数据库构建脚本
│   │   ├── incremental_update.py  # 增量更新脚本
│   │   └── image_downloader.py  # 图片下载器
│   ├── tools/              # Wiki维护工具
│   │   └── fix_missing_pet_data.py  # 数据补全工具
│   ├── output/             # 输出目录
│   │   └── images/         # 图片资源
│   │       ├── pets/       # 宠物图片
│   │       ├── skills/     # 技能图标
│   │       └── items/      # 道具/家具图片
│   └── wiki-local.db       # SQLite 数据库
└── render/                 # 网页模板资源
    ├── bind-list/          # 绑定列表与多账号面板模板
    ├── menu/               # 帮助菜单模板
    ├── package/            # 背包图鉴汇总模板
    ├── personal-card/      # 洛克档案面板模板
    ├── record/             # 对战回放数据模板
    ├── exchange-hall/      # 洛克交换大厅模板
    ├── home/               # 洛克家园菜园/守卫/室内精灵模板
    ├── pet-wiki/           # 精灵 wiki 模板
    ├── skill-wiki/         # 技能 wiki 模板
    ├── yuanxing-shangren/  # 远行商人模板
    ├── lineup/             # 洛克阵容助手模板
    ├── lineup-detail/      # 阵容详情模板
    └── searcheggs/         # 🥚 查蛋配种模块(自包含)
        ├── eggs.py         # 查蛋引擎(搜索/蛋组/配种逻辑)
        ├── Pets.json       # 精灵蛋组离线数据(1015只)
        ├── index.html      # 单精灵查蛋渲染模板
        ├── pair.html       # 配种判定渲染模板
        └── style.css       # 查蛋页面样式

🎮 功能详解

💡 指令前缀:默认为 /,在 AstrBot 配置中自定义

⚠️ 帮助菜单说明

  • 标注 实验性功能 的命令表示接口字段或返回结构暂不稳定,适合测试使用
  • 标注 接口暂时关闭 / 暂不可用 的命令表示当前后端未开放,仅返回提示信息

🔐 账号与绑定

指令 说明
洛克QQ登录 使用 QQ 扫码快捷登录及绑定
洛克微信登录 使用微信扫码快捷登录及绑定
洛克导入 [ID] [Ticket] 通过客户端扫尾凭证手动导入登录
洛克刷新 刷新当前有效主账号 QQ 凭证生存期
洛克绑定列表 查看所有已扫描绑定的账号记录
洛克切换 [序号] 一键切换当前群聊激活的前置主查询账号
洛克解绑 [序号] 移除不再需要的冗余账号绑定内容

📊 数据查询

指令 说明
洛克档案 生成全盘概览的个人数据雷达星级名片
洛克战绩 [页码] 查询并展示指定历史对战记录的对手及结果
洛克背包 [分类] [页码] 展示对应条件精选收藏情况,支持分类如 了不起异色炫彩
洛克交换大厅 [页码] 浏览其他玩家的精灵交换请求列表
远行商人 查询当前轮次远行商人商品
洛克商店 <shop_id> 实验性功能:通过 ingame 接口查询指定商店信息,接口返回暂不稳定
洛克玩家 <UID> 通过 ingame 接口查询玩家基础资料,当前推荐优先使用
洛克家园 [UID] 通过 UID 查询自己或他人的家园菜园、守卫精灵和室内精灵情况
订阅家园菜园 [UID] 订阅指定 UID 的菜园提醒,首个成熟和全部成熟时各推送一次
订阅家园灵感 [UID] 订阅指定 UID 的精灵灵感提醒,首个完成和全部完成时各推送一次
取消订阅家园 [菜园/灵感/全部] [UID] 取消当前会话的家园订阅
订阅远行商人 [1/0] [商品...] 群主/群管理员/bot管理员可订阅远行商人提醒,1 为命中后 @全体0 为普通提醒;不填商品则使用 WebUI 默认订阅商品
取消订阅远行商人 关闭当前群远行商人订阅
洛克好友关系 <id1,id2> 实验性功能:仅能拿到有限状态字段,关系说明暂不稳定(需登录)
洛克学生 [area] [account_type] 实验性功能:接口信息量有限,当前仅供测试查看(需登录)
洛克阵容 <分类> <页码> 查看热门阵容推荐及组成,2x3 网格布局展示
查看阵容 <阵容码> 查看指定阵容的详细信息,包含精灵技能配置
洛克wiki <精灵名> 查询精灵详细信息,包括属性、种族值、特性、进化链、技能列表等
洛克技能 <技能名> 查询技能详细信息,包括威力、PP、效果等

📚 Wiki百科(离线版)

⚠️ 说明:由于 WeGame API wiki 接口已关闭,本插件采用本地数据库方案作为临时替代。数据来自 BiliGame 洛克王国 WIKI(CC BY-NC-SA 4.0)。

🔍 查询方式

  • 直接查询迪莫喵喵暗突袭
  • 指令查询/查询 迪莫
  • 关键词触发洛克王国 迪莫百科 喵喵

🔎 高级查询

类型 示例
属性克制 火克草水克火
颜色筛选 红色宠物蓝色精灵蛋绿色家具
属性筛选 火系宠物有哪些水系精灵
分支进化 所有分支进化有分支进化的精灵
自然语言 迪莫会什么技能迪莫怎么进化

📊 返回信息

精灵查询:

  • 基本信息(编号、名称、属性、形态)
  • 种族值(HP、攻击、魔攻、防御、魔抗、速度)
  • 特性与属性克制关系
  • 进化路线(包含每个阶段的图片和编号)
  • 分支进化列表(查询所有具有多分支进化的精灵初始形态)
  • 技能列表(包含完整的技能详情:属性、类别、威力、PP、效果)

技能查询:

  • 技能名称
  • 属性类型
  • 技能类别(物理/魔法/变化)
  • 威力
  • PP 消耗
  • 技能效果描述

⚙️ 配置项

配置项 类型 默认值 说明
wiki_db_path string ./wiki-local.db Wiki 数据库文件路径
wiki_search_limit int 5 搜索结果最大数量 (1-20)
wiki_enable_fuzzy_search bool true 是否启用模糊搜索
wiki_response_style string 简洁 响应风格: 简洁/详细/卡片式
wiki_vision_model_config string `` 视觉模型配置(用于颜色识别)
wiki_manual_vision_api_key string `` 手动填写的 API Key
wiki_manual_vision_base_url string `` 手动填写的 API Base URL
wiki_manual_vision_model_id string `` 手动填写的模型 ID

🥚 查蛋配种(无需登录)

指令 说明
洛克查蛋 <精灵名> 查询精灵蛋组、性别比、孵化信息及同蛋组可配种精灵(别名:查蛋
洛克查蛋 0.18 1.5 按身高+体重反查(前身高 m 后体重 kg,双参数时优先走后端尺寸查询)
洛克查蛋 0.18 仅按身高(m)反查
洛克配种 <父体> <母体> 判断能否配种,默认前父后母,孵蛋结果跟随母体(别名:配种
洛克配种 <精灵名> 想要孵出该精灵?查询需要哪些父母组合及性别要求

🔍 查蛋支持智能匹配:精确名称直接出结果,模糊输入自动匹配,多候选时列出供选择。

💡 发送 洛克 可查看插件完整且精美的图片图解版内置帮助。


📸 功能预览

点击展开预览图
洛克档案 洛克战绩
1cdb78b007cb9ac6e013de50a1428af1 image
洛克背包 洛克交换大厅
image image
洛克阵容 查看阵容
image db5ac911e2ec8840b3a4c367e59b2b5a
远行商人 精灵 Wiki
0169749e11298492f0007497fe7b73ec_720 6bd48e838ede2c2784681cef61bb0c76
技能 Wiki 查蛋结果
296f9d0065784d170188c265f168c225 2253648a42048a2cabf9ee6a18e14fc8
尺寸反查 配种结果
cf5e99b9fd2bef74b4a39cc5c44ba3a3 54c8265461499be1160ccedf6248f3d4_720
洛克家园 预留展示位
d361600220e182b3da02fd9e2e0a0af9 d361600220e182b3da02fd9e2e0a0af9

🎨 自定义美化

你可以通过替换内部图片的方式实现基础的背景个性化:

路径: AstrBot/data/plugins/astrbot_plugin_rocom/img/

功能 文件
背景图 bg.C8CUoi7I.jpg
战绩背景 record-bg.C1mPRb4R.png

📋 TODO

  • 基础查询 (个人档案/战绩/背包)
  • 交换大厅 (精灵交换请求列表)
  • 阵容助手 (阵容列表/详情查询)
  • 查蛋配种 (蛋组查询/配种判定/智能搜索)
  • 更多功能 (敬请期待)

📜 更新日志

点击展开版本历史

v3.0.0 (2026-05-06)

新增

  • 新增家园渲染模板,展示家园概览、菜园作物、守卫精灵和室内精灵状态
  • 家园菜园接入本地作物名称与图标映射,展示作物名、图标、成熟状态、产量和可偷次数
  • 家园订阅支持菜园和精灵灵感两类提醒,并按首个完成、全部完成两档推送

优化

  • 帮助菜单和 README 同步补充家园查询、家园订阅的新版说明
  • 优化家园模板中灵感完成、灵感收集中、未喂食和守卫中的视觉状态区分

v2.8.0 (2026-04-28)

新增

  • Wiki百科功能集成(离线版):整合 astrbot_plugin_roco_world_wiki_search 插件,提供基于本地数据库的洛克王国百科全书查询(临时方案,替代已关闭的 WeGame API wiki 接口)
  • 宠物/技能/道具/家具查询:支持名称、属性、六维、特性、技能列表、立绘图片等详细信息
  • 智能搜索:模糊匹配、自然语言理解、属性克制计算、颜色筛选
  • 进化链查询:完整进化路线展示、下一阶段查询、特定阶段查询、多分支支持
  • 视觉识别:大模型视觉识别颜色,支持按颜色查询宠物、精灵蛋、家具、道具
  • 管理员命令:在线更新数据库、查看统计、批量识别颜色、补全缺失数据
  • 口语化表达:支持"迪莫会什么技能"、"迪莫怎么进化"等自然语言查询

架构优化

  • 模块化设计:Wiki 功能独立在 wiki/ 目录下,包含爬虫、数据库、工具脚本
  • 工具脚本迁移:将 tools/fix_missing_pet_data.py 移至 wiki/tools/
  • 依赖管理:添加 requests、aiohttp、fake-useragent 等 Wiki 必需依赖
  • 配置分离:Wiki 配置项使用 wiki_ 前缀,避免与主项目冲突

文档更新

  • README 完善:补充 Wiki 功能详解、使用示例、管理员命令说明
  • 项目结构:更新目录树,展示 Wiki 模块完整结构
  • 常见问题:新增 Wiki 相关 FAQ

相关资源

v2.7.0 (2026-04-26)

新增

  • 远行商人订阅更新日志补充:已支持私聊订阅远行商人推送
  • 新增 /洛克家园 [UID],支持通过 UID 查询自己或他人的家园菜园、守卫精灵和室内精灵情况
  • 新增 /订阅家园菜园/订阅家园灵感/取消订阅家园,支持菜园/灵感首个完成和全部完成两档提醒

优化

  • 适配最新后端 UID 搜索队列机制,查询会优先同步等待并在返回 task_id 后继续异步轮询任务结果
  • 保持 /洛克玩家 与档案补充链路的返回结构不变,兼容新的异步查询流程

v2.6.0 (2026-04-25)

优化

  • 重构远行商人订阅调度逻辑,不再依赖 AstrBot cron 轮询
  • 远行商人订阅改为固定在每日 08:01 / 12:01 / 16:01 / 20:01 检查
  • 若后端该轮返回空商品,则每 4 分钟最多重试 3 次,三次后暂停本轮重试

v2.5.3 (2026-04-23)

修复

  • 尺寸反查渲染新增独立“匹配”行,匹配率/命中次数不再混入蛋组字段
  • 本地兜底尺寸反查也会展示匹配信息,同名合并时同步累加匹配率与命中次数

v2.5.2 (2026-04-23)

修复

  • 修正尺寸反查同名结果合并逻辑:不再剥离颜色前缀,避免误合并不同形态
  • 后端尺寸查询返回的同名重复项会累加匹配率与命中次数,并聚合编号、身高、体重范围后展示

v2.5.1 (2026-04-23)

优化

  • 尺寸反查统一使用游戏原生 m 输入与展示,移除旧单位兼容分支
  • 同名同色尺寸结果改为聚合展示编号与尺寸范围,避免简单去重导致数据丢失

v2.5.0 (2026-04-22)

新增

  • README 与帮助菜单同步补充实验性功能、暂不可用功能说明
  • 远行商人订阅、自定义订阅商品、档案补充信息等现有功能文档补全

优化

  • 洛克档案 personal-card 底部补充区继续调整,名片展示区精简为纯图片展示
  • 帮助菜单中的实验性命令说明与当前插件实现保持一致

修复

  • 修复洛克档案模板近期调整时引入的部分文案异常问题
  • 修复档案底部名片展示与家园信息区域的对齐问题

v2.3.0 (2026-04-21)

新增

  • 新增 help_prefix_display 配置项,可仅对帮助菜单图片中的命令展示前缀做替换

优化

  • 调整查看阵容详情渲染,补充技能名称展示并优化技能区与头像区布局

修复

  • 修复 查看阵容 指令对阵容码的匹配逻辑,兼容更稳定的阵容码查找
  • 修复技能 wiki 在存在精确同名项时仍被模糊结果拦截的问题
  • 修复相同 UID 重新登录时旧绑定残留导致的新旧 token 数据混用问题

v2.2.2 (2026-04-21)

新增

  • 新增 help_prefix_display 配置项,仅用于帮助菜单图片中的命令前缀展示

修复

  • 重新登录识别到相同 UID 时,会先清理旧绑定数据再写入新 token,避免旧状态残留或数据混用

v2.2.1 (2026-04-20)

优化

  • 帮助菜单以及查蛋相关统一切换为 HYWenHei-85W-1.ttf 字体
  • 菜单背景新增轻量深色遮罩,降低过亮区域对文字可读性的影响
  • README 同步远行商人订阅命令格式与当前权限说明

v2.2.0 (2026-04-19)

修复

  • 修复远行商人自定义订阅功能,现在可以正确解析自定义商品名称
  • 优化命令参数解析逻辑,从 event.message_str 中提取完整参数避免被 AstrBot 按空格拆分

v2.1.0 (2026-04-19)

新增

  • 新增 /远行商人 指令,展示当前轮次商品
  • 新增 /订阅远行商人 1|0/取消订阅远行商人,支持群管理员按群配置推送方式
  • 新增 /洛克wiki <精灵名>/洛克技能 <技能名> 指令
  • 查蛋双参数尺寸反查正式接入后端 pet/size-query

优化

  • 重构精灵 wiki / 技能 wiki 渲染,补齐图标、技能列表、进化链与属性展示
  • 优化远行商人渲染,仅展示当前时间段商品,并修正轮次剩余时间表达
  • 查蛋结果页、尺寸反查页补充图片化输出与图标展示

修复

  • 修复远行商人、wiki 等页面在截图时出现的截断与偏移问题
  • 修复交换大厅接口在当前线上环境仍要求 X-Framework-Token 时的请求头兼容
  • 修复远行商人标题图标路径解析异常

v1.8.0 (2026-04-17)

新增

  • 新增 /洛克查蛋 <精灵名> 指令,查询精灵蛋组、性别比、孵化信息及同蛋组可配种精灵(别名:/查蛋
  • 新增 /洛克配种 <精灵A> <精灵B> 指令,判断两只精灵能否配种并展示共享蛋组(别名:/配种
  • 内置 1015 只精灵离线蛋组数据(含 500 只有蛋组信息),无需登录即可使用
  • 智能搜索匹配:精确匹配中文名/ID/英文名 → 唯一模糊命中自动匹配 → 多候选列表引导用户精确输入

架构

  • 查蛋模块自包含在 render/searcheggs/ 目录下(数据、逻辑、模板),main.py 仅做薄指令路由,高解耦便于后续切换后端
  • 新增 SearchResult 类型封装搜索结果(EXACT/FUZZY/MULTI/NOT_FOUND)

v1.7.0 (2026-04-14)

新增

  • 新增 /洛克刷新所有凭证 指令(管理员专用),支持手动批量刷新所有用户凭证
  • 手动刷新指令执行前会提示自动刷新功能已配置,仅作调试或强制兜底使用
  • 绑定失败时不再保存无效绑定记录
  • 改进绑定成功提示格式

优化

  • 增强刷新结果统计,显示总用户数、成功数、失败数、跳过数(非 QQ 登录)
  • 手动刷新指令最多显示 20 条详细结果

修复

  • 修复自动刷新任务生命周期管理
  • 修复自动刷新通知发送逻辑
  • 修复绑定时未验证角色信息导致无效凭证也能成功绑定的问题
  • 优化绑定失败提示,明确告知用户凭证可能无效或已过期
  • 新增绑定成功时自动设置为主账号

v1.6.0 (2026-04-14)

新增

  • 新增自动刷新凭证功能,支持定时刷新所有用户的 QQ 登录凭证
  • 支持配置刷新时间(默认每天 00:00 和 12:00)
  • 支持配置刷新结果通知群号

优化

  • 增强清理绑定统计信息,显示检查用户数、移除数和剩余数
  • 优化日志记录,记录每个被删除绑定的用户 ID

修复

  • 修复对战记录胜负判断逻辑,API 返回 1 为失败,0 为胜利
  • 修复 /洛克删除无效绑定 指令修正为清理所有用户的无效绑定(管理员专用)
  • 修复 /洛克刷新 指令响应检查逻辑

v1.5.0 (2026-04-14)

优化

  • 增强清理绑定统计信息,显示检查用户数、移除数和剩余数
  • 优化日志记录,记录每个被删除绑定的用户 ID

修复

  • 修复对战记录胜负判断逻辑,API 返回 1 为失败,0 为胜利
  • /洛克删除无效绑定 指令修正为清理所有用户的无效绑定(管理员专用)

v1.4.0 (2026-04-14)

修复

  • 修复对战记录胜负判断逻辑,API 返回 1 为失败,0 为胜利

v1.3.0 (2026-04-12)

新增

  • 新增 /洛克删除无效绑定 指令(管理员)
  • 新增双设备扫码提醒

修复

  • 修复登录流程,扫码后自动绑定账号
  • 修复 /洛克刷新/洛克阵容 错误处理
  • 修复洛克背包换页无效问题
  • 修复登录消息缺少艾特用户

v1.2.0 (2026-04-12)

新增

  • 新增 /洛克删除无效绑定 指令
  • 新增双设备扫码提醒

优化

  • 更新登录流程,自动调用绑定 API
  • 修复 /洛克刷新 使用正确的 API
  • 优化错误处理和日志记录

v1.1.0 (2026-04-12)

新增

  • 新增 /洛克交换大厅/洛克阵容/查看阵容 指令
  • 新增精灵背包分类筛选(全部/异色/了不起/炫彩)

优化

  • 重构阵容页面为 2x3 网格布局
  • 修复页脚显示问题
  • 支持背包参数交换位置

v1.0.0 (2026-04-11)

  • ✨ 初始版本发布
  • ✅ 支持 QQ/微信扫码登录
  • ✅ 个人档案、战绩、背包查询
  • ✅ 图片渲染输出

🙏 鸣谢

  • AstrbotSoulter/AstrBot 提供强大的机器人开发与部署平台支撑

特别感谢:

  • 熵增项目组 - 对各类抓取代理转发能力的构筑

本插件界面 UI 由原平台页面自研拆解逆向还原成微网页模板。全部图表美术素材著作及归属权属于腾讯科技 WeGame 及《洛克王国》项目组官方主体。


💬 加入交流群

群聊 群号
astrbot洛克王国插件BUG反馈 870543663
熵增项目组洛克王国插件交流 1097809141

如果喜欢这个插件,别忘了给仓库点个⭐!

About

洛克王国数据查询插件,支持个人信息 精灵查询 交换大厅 图鉴 配队攻略等

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 73.0%
  • CSS 18.5%
  • HTML 8.5%