云端客 cac08d4f15 [活动期限/周本通知器] 迭代 0.0.2 版本 (#2552)
* feat(ActivitySwitchNotice): 添加异步通知发送功能

- 新增异步发送通知函数 send,支持标题和内容拼接
- 添加通知发送前的日志记录和条件判断
- 导出新的 send 函数供外部调用
- 保留原有 sendNotice 函数兼容性

* feat(activity): 新增征讨领域次数识别与通知功能

- 实现征讨领域 OCR 识别逻辑,用于获取每周剩余次数
- 添加秘境与征讨领域的点击坐标配置
- 集成通知工具,发送剩余次数提醒
- 支持自动按键进入活动界面并执行点击操作
- 增加星期判断逻辑,跳过周日执行
- 提供字符串与整数解析工具函数,增强配置容错性

* fix(campaignArea): 修复周日不执行秘境征讨提醒的问题

- 将判断条件从等于0修改为不等于0,确保周日可以执行提醒逻辑
- 添加日志记录,便于追踪执行情况和调试
- 保留原有的延迟和按键操作逻辑

* feat(activity): 添加活动切换通知功能

- 引入 campaignArea.js 工具模块
- 在主流程中调用 toMainUi 函数
- 执行活动区域主逻辑处理
- 整合活动切换与通知机制
- 增强主界面判断逻辑
- 优化异步流程控制

* feat(activity): 实现秘境征讨剩余次数提醒功能

- 添加了每周日自动检查秘境征讨剩余次数的功能
- 实现了通过OCR识别剩余次数的逻辑
- 集成了日志记录和通知发送机制
- 添加了完整的操作延迟和点击坐标配置
- 实现了热键触发和界面点击的自动化流程
- 增加了详细的函数注释和执行日志

* feat(campaignArea): 更新征讨领域坐标并优化OCR识别逻辑

- 调整征讨领域点击坐标为{x: 493, y: 537}
- 新增ocrWeeklyCount函数用于OCR识别周计数信息
- 增强OCR识别后的文本处理与日志记录
- 修复周日判断逻辑,确保仅在周日执行特定操作
- 调整主流程顺序,先执行征讨领域再返回主界面

* refactor(campaignArea): 优化星期名称获取逻辑

- 提取星期名称到独立变量以提高可读性
- 更新日志记录以使用新的变量名
- 确保返回对象中的星期名称正确引用新变量

* feat(ActivitySwitchNotice): 新增征讨领域每周提醒功能

- 在 README 中新增“每周日自动提醒征讨领域剩余次数”特性说明
- 更新 settings.json 配置项表格,增加 toTopCount、scrollPageCount 和 campaignAreaKey 参数
- 新增 campaignArea.js 模块,实现 OCR 识别与周日提醒逻辑
- 调整目录结构说明,加入 campaignArea.js 文件介绍
- 修改工作原理部分,补充征讨领域提醒的执行流程
- 统一 README 中代码引用格式为反引号包裹

* docs(ActivitySwitchNotice): 更新 README 版本历史记录

- 新增 0.0.2 版本的征讨领域周次数提醒功能
- 新增 campaignArea.js 模块及相关配置选项
- 改进 滚动到顶部功能的稳定性并新增相关配置
- 新增 0.1 版本的活动检测、OCR识别及通知功能
- 新增 多种智能解析与防重复检测机制
- 新增 异常处理和错误恢复机制

* fix(ActivitySwitchNotice): 调整日志级别与周日判断逻辑

- 将 info 级别日志调整为 debug 级别
- 修正周日判断条件,确保仅周日执行提醒
- 增强周日判断日志描述
- 更新剩余次数提示文案,明确显示“本周剩余消耗减半次数”
- 在通知消息前添加 Markdown 格式符号 `>` 以突出显示

* refactor(campaignArea): 将日志级别从 info 调整为 debug

- 修改日志记录方式,将 info 级别调整为 debug
- 减少生产环境中的日志噪音
- 提高调试信息的可读性与准确性

* feat(ActivitySwitchNotice): 新增征讨领域模块和配置选项

- 新增 campaignArea.js 模块,包含征讨领域相关功能
- 新增 campaignAreaKey 配置选项,用于自定义征讨领域页面快捷键
- 改进增强滚动到顶部功能的稳定性
- 新增 toTopCount 和 scrollPageCount 配置选项,提供更多滚动控制参数
- 新增活动期限检测与通知功能
- 新增 OCR 识别活动列表和剩余时间功能

* docs: 更新活动通知器功能说明

* feat(ActivitySwitchNotice): 支持征讨领域周次数提醒功能

- 更新插件名称以明确支持活动期限与周本提醒
- 提升版本号至 0.0.2
- 新增 campaignAreaKey 配置项用于自定义征讨领域页面快捷键
- 在 README 中更新 campaignAreaKey 的使用状态为启用
- 更新版本历史记录日期及新增功能说明
- 新增 campaignArea.js 模块实现相关功能逻辑

* feat(ActivitySwitchNotice): 支持自定义征讨领域提醒日

- 新增配置项 campaignAreaReminderDay,用于设置提醒日期
- 修改判断逻辑,使用配置的提醒日替代固定周日判断
- 添加相关注释说明配置用途

* feat(settings): 添加周本提醒日设置选项

- 在设置中新增周本提醒日选择器
- 支持设置提醒日为周日至周六任意一天
- 默认值设为周日
- 保留原有冒险之证按键设置功能

* docs: 更新文档,新增征讨领域提醒日配置选项说明

* fix: 修改周本提醒日配置值为字符串格式

* feat(activity): 添加活动描述字段支持

- 在活动映射中新增 desc 字段,默认值为 null
- 更新通知文本生成逻辑,支持显示活动描述信息
- 优化剩余时间文本格式,增强可读性
- 保持现有功能兼容性,不影响无描述场景显示

* feat(activity): 增加活动时间转换和OCR功能

- 添加日期枚举类型DATE_ENUM及反向映射方法
- 新增活动周期转换映射表activityTermConversionMap
- 新增特定活动OCR内容映射表needOcrOtherMap
- 实现根据活动名称获取日期枚举值的函数getDATE_ENUM
- 添加将总小时数转换为周/天/小时格式的函数convertHoursToWeeksDaysHours
- 在活动时间处理中增加对不同时间单位的支持
- 增加对特定活动额外OCR识别内容的支持
- 修复数组遍历时的缩进问题

* feat(activity): 更新活动时间显示逻辑

- 修改"砺行修远"活动的时间枚举为周
- 调整剩余时间文本的显示格式
- 优化通知文本的排版和分隔符
- 增强日期枚举获取函数的返回值结构
- 添加调试日志用于追踪活动时间和枚举值
- 改进OCR识别时间的显示方式

* feat(ActivitySwitchNotice): 添加黑名单活动名称过滤功能

- 在配置中新增 blackActivityNameList 字段,支持通过 | 分割多个活动名称
- 实现活动黑名单过滤逻辑,排除黑名单中的活动名称
- 更新设置界面,增加黑名单活动名称输入框
- 完善活动筛选流程,优先过滤黑名单活动再判断剩余时间阈值

* feat(ActivitySwitchNotice): 新增活动黑名单过滤功能

- 在 settings.json 中新增 blackActivityNameList 配置项
- 支持通过黑名单排除不关心的活动提醒
- 更新文档说明,添加黑名单使用示例
- 增强活动过滤逻辑,提高匹配准确性
- 在核心扫描流程中集成黑名单过滤机制
- 优化通知显示格式,增加活动描述信息
- 修复若干已知问题,提升脚本稳定性

* fix(activity): 修复活动过滤逻辑

- 修改黑名单活动名称过滤方式,从完全匹配改为包含匹配
- 确保活动名称中包含黑名单关键词时能被正确过滤
- 保持小时数阈值过滤逻辑不变
- 维持扫描完成后统一发送通知的机制

* fix(activity): 修复活动黑名单过滤逻辑及通知文本

- 修正黑名单关键词过滤条件判断
- 优化通知消息文本格式,增加黑名单提示信息

* feat(activity): 支持多个OCR识别键值

- 修改needOcrOtherMap结构以支持数组形式的键值
- 更新OCR识别逻辑以遍历多个键值并拼接结果
- 为"砺行修远"活动添加"完成进度"作为新的OCR识别目标

* fix(activity): 修复OCR时间和活动过滤逻辑

- 修复OCR剩余时间函数调用参数错误,从keys改为key
- 优化活动黑名单过滤逻辑,提高过滤准确性
- 增强活动名称关键字匹配的判断条件
- 修复过滤器提前返回导致的逻辑中断问题

* fix(ActivitySwitchNotice): 优化活动黑名单过滤和日期枚举匹配逻辑

- 黑名单活动名称过滤时增加去除空字符串逻辑
- 日期枚举匹配改为模糊包含匹配,提升识别准确率
- 修复黑名单提示条件判断错误导致的消息格式问题

* docs: 更新活动模块文档,添加配置项说明

* feat(activity): 添加黑名单活动名称过滤功能

- 在活动点击前增加黑名单关键词匹配逻辑
- 跳过匹配黑名单的活动,避免无效点击
- 移除原有冗余的活动过滤逻辑
- 优化活动重复点击判断流程

* style(docs): 格式化 README.md 中的表格样式

- 调整表格列对齐方式,使用冒号对齐格式
- 统一表格分隔符的格式和间距
- 修复表格列宽和对齐问题
- 优化表格的视觉呈现效果
2025-12-23 18:23:58 +08:00
2025-12-04 13:07:48 +08:00
2025-12-11 22:26:13 +08:00
2025-11-02 17:06:24 +08:00
2025-10-13 00:45:40 +08:00
2025-12-22 15:59:06 +00:00

BetterGI · 更好的原神 的脚本仓库

BetterGI📜 脚本仓库

在线版脚本仓库:bgi.sh 备用地址:https://s.bettergi.com

作者Q群764972801 (非作者请勿加入)

如何提交到本仓库?(谁都能看懂的 GitHub Pull Request 使用指南)

脚本提交说明

脚本提交规范

为了保证脚本的规范性和可读性,方便用户清晰了解脚本的用途,制定以下脚本命名规则和脚本文件夹命名规则。

地图追踪脚本

文件命名规范

确保脚本文件在同一目录下按预期顺序排列,并一目了然地传达关键信息。地图追踪脚本命名需包含以下核心信息:

编号-材料名称-区域(跨区域材料填写)-二级区域(可选)-二级子区域-数量
  • 编号

    • 两位数,如果单个资源脚本数量超过 100 可以考虑使用三位数编号或者使用字母加数字编号,如 A01
    • 编号的排序应遵循以下两种方式之一:
      • 按传送点位顺序排序。相邻脚本之间优先保证传送的便捷性,这种编号方式考虑整体采集效率。
      • 按材料获取效率排序。优先选择资源分布密集或容易采集的点,效率高的路径放在靠前编号,这种编号方式考虑编号靠前脚本的采集效率。
  • 材料名称

    • 采集物(使用游戏内官方名称命名,如 慕风蘑菇劫波莲,不应当使用 绫华突破材料等不清晰的名称命名)
    • 掉落物(因掉落物名称与掉落物等级有关,因此不使用掉落物本身命名,而是使用怪物名称命名)
  • 区域(指 蒙德 璃月 稻妻 须弥 枫丹 纳塔 至冬仅当材料跨区域需标注

  • 二级区域(如 珉林,根据实际需求标注)

  • 二级子区域(细分地点,如 绝云间

  • 预期采集的数量

脚本名称仅限上述规定的编号、材料名称、区域、二级子区域,原则上不应包含额外的描述或标点符号。

✔ 参考示范:
01-水晶块-璃月-绝云间-6个
02-水晶块-璃月-荻花洲-8个

❌ 错误示范:
01-水晶块-璃月-快速路径-绝云间-6个

其他注意事项

  • 部分采集物没有对应的二级子区域,允许名称的区域部分使用起始传送锚点右侧展示的二级区域,或这条路径的大部分采集物点位所位于的二级区域

  • 相同二级子区域有多条路径时,推荐采用 编号-材料名称-二级区域-二级子区域及方位-数量 进行命名。

  • 脚本文件名应当和 json 文件中的 name 字段相同。

  • 说明文件应当命名为README.md以保证仓库能够正确读取。

文件夹命名规范

目的:对脚本按材料分类管理,便于版本控制与团队协作。目录结构应当遵循以下原则:

  • 根据脚本种类选择恰当的一级分类,目前共有六个分类 锄地专区地方特产敌人与魔物矿物其他

  • 一级目录:以材料名称命名,须与文件命名中的材料名称一致。

  • 二级子目录(可选):可根据项目或作者划分,如有必要。

  • 示例目录结构如下:

    repo/pathing/矿物
    ├─ 水晶块
    │   ├─ 01-水晶块-璃月-绝云间-6个
    │   └─ 02-水晶块-璃月-荻花洲-8个
    └─ 星银矿石
        └─ 01-星银矿石-覆雪之路-7个
    

    如果脚本和原来的地图追踪脚本存在冲突 按照以下原则处理:

  • 修复或补充:直接提交到原材料目录。

  • 路线冲突:新建同名目录并添加作者标识:

    1. 将旧脚本目录重命名为 AA@旧作者名
    2. 新脚本放入 AA@你的名字
    3. 例:原 repo/pathing/AA 重命名为 AA@oldauthor 新目录 AA@yourname
    • 示例目录结构如下:

      repo/pathing/.../
      └── AA
          ├── AA@旧作者名
          └── AA@你的名字
      
  • 不同采集方式|角色|效率:新建目录添加标识及作者标识:

    1. 判断旧脚本目录的采集方式,将旧脚本目录重命名为 采集方式@旧作者名
    2. 新脚本放入 采集方式@你的名字
    • 示例目录结构如下:

      repo/pathing
      ├── 地方特产/区域
      │   ├── A材料
      │   │   ├── 无草神@作者广告位招租
      │   │   ├── 有草神效率路线@作者广告位招租
      │   │   ├── 有草神全收集@作者广告位招租
      │   │   └── ...
      │   └── B材料
      │       ├── 效率路线@作者广告位招租
      │       ├── 全收集@作者广告位招租
      │       └── ...
      ├── 矿物
      │   ├── 水晶矿
      │   │   ├── 大剑@作者广告位招租
      │   │   ├── 钟离@作者广告位招租
      │   │   ├── 诺艾尔@作者广告位招租
      │   │   └── ...
      │   └── 萃凝晶
      │       ├── 大剑效率路线@作者广告位招租
      │       ├── 大剑无战斗@作者广告位招租
      │       └── ...
      └── ...
      

其他注意事项

  • 目录名仅限材料官方名称,不添加版本号或其他标识。

  • 作者标识仅在冲突时追加,格式为“@作者名”,紧随原目录名。

JS脚本

创建JS脚本请参考文档创建脚本

文件夹命名规则

  • 脚本的文件夹名称应体现脚本的用途,简要用途可在描述文件 manifest.json 中说明,详细用途可在README.md(大小写敏感,要求全部大写的文件名) 中说明

  • 脚本的主体文件夹名称可采用 大驼峰式命名法 等命名方式,名称中不应包含空格,如:

    repo/js
    ├── 
    ├── AutoLeyLineOutcrop
    ├── AutoXXX
    └── ...
    
  • 常见的脚本结构目录如下:

    repo/js
    └── jsName
        ├── Assets
        │   ├── Pathing
        │   │   └── xxx.json
        │   └── RecognitionObject
        │       └── xxx.png
        ├── main.js
        ├── manifest.json
        ├── settings.json
        └── README.md
    
  • Assets用于存放脚本使用到的资源文件,其中

其他注意事项

  • 脚本使用的资源文件应在README.md中注明实际用途

其他

因早期对脚本管理较为宽松,因此仓库有部分脚本并不符合命名规范,欢迎通过 PR 规范这些名称。

Contributors

Active Contributors of babalae/bettergi-scripts-list - Last 28 days

相关源码

脚本仓库页面的源码

地图路径追踪的源码:bettergi-map

Languages
JavaScript 87.2%
HTML 10.3%
Python 2.3%
C 0.2%