Greasy Fork

Greasy Fork is available in English.

原神激励领奖

B站原神激励活动自动领奖脚本,支持自动解锁按钮、可调节点击间隔、智能停止检测,提供一键控制和优雅的消息提示系统

当前为 2025-06-08 提交的版本,查看 最新版本

作者
Dongyu Liu
评分
0 0 0
版本
2025-06-19
创建于
2025-06-07
更新于
2025-06-08
大小
37.3 KB
许可证
MIT
适用于

原神激励领奖脚本

一个用于 B站原神激励活动自动领奖的油猴脚本,帮助用户自动化完成重复的点击领奖操作。

📝 更新日志

v2025-06-19

  • 🎨 优化控制面板布局,去除多余空白,间距更协调
  • 🖱️ 改进拖动功能:整个标题栏都可拖动,提升用户体验
  • 📐 使用百分比定位系统,面板位置随窗口大小自适应
  • 🛡️ 新增验证码面板智能检测,验证码期间自动暂停点击
  • 🔄 窗口大小改变时自动保持面板在可视范围内
  • 📝 功能名称优化:"自动验证" → "自动点一次","定时刷新" → "1点自动领奖"
  • ⏰ 1点自动领奖功能优化:00:59:59刷新页面,1点准备就绪后自动开始

v2025-06-14

  • ✨ 添加智能自动触发功能
  • 🤖 检测到"领取奖励"按钮文字时自动开始领奖
  • 🔄 每2秒智能监控,无需手动操作
  • 🛡️ 防重复触发机制,确保安全运行
  • 🎨 优化验证提示窗颜色搭配

v2025-06-13

  • ✨ 添加验证提示功能
  • 💡 提醒用户先手动领奖一次通过验证
  • 🎨 优化提示窗视觉设计

v2025-06-12

  • ✨ 添加右上角实时时间显示功能
  • 🕐 支持毫秒级精确时间显示 (优先使用北京时间网站)
  • 🔄 添加页面错误自动检测和刷新功能
  • 🛡️ 永久监控页面错误,1秒检测间隔
  • 🎨 美化时间显示界面,采用现代渐变设计

v2025-06-11

  • ✨ 添加点击间隔选择器功能
  • 💾 添加设置本地保存功能
  • 🔄 支持运行时实时切换间隔
  • ✨ 添加堆栈式消息提示系统
  • 🐛 修复多条消息重叠问题
  • 🎨 优化UI界面和动画效果
  • 🛡️ 增强错误处理和安全机制

✨ 功能特点

  • 🚀 自动解锁按钮:页面加载后自动移除按钮的 disable 状态
  • 🤖 智能自动触发:检测到"领取奖励"按钮文字时自动开始领奖
  • 🎯 智能自动点击:可调节间隔的快速点击领奖按钮
  • 🛡️ 验证码智能检测:检测到验证码面板时自动暂停,完成后自动恢复
  • ⚙️ 间隔调节器:5档点击速度可选 (100ms-1000ms)
  • 💾 设置保存:自动保存用户设置,下次访问时恢复
  • 🕐 实时时间显示:右上角显示精确到毫秒的北京时间
  • 🖱️ 可拖动控制面板:整个标题栏可拖动,百分比定位适应窗口变化
  • 🎲 自动点一次:页面活跃后自动点击一次,用于通过验证码检测
  • 1点自动领奖:每天00:59:59刷新页面,1点准备就绪后自动开始领奖
  • 💡 验证提示:智能提醒用户操作流程
  • 🔄 智能错误恢复:自动检测页面错误并刷新
  • 🛡️ 智能停止机制:自动检测以下停止条件
    • "查看奖励" - 领奖完成
    • "每日库存已达上限" - 当日已达限制
    • "暂无领取资格" - 没有领取资格
  • 安全超时:30秒自动停止,防止无限运行
  • 💬 优雅提示系统:堆栈式消息通知,非阻塞显示状态
  • 🎮 一键控制:悬浮按钮随时启动/停止

📋 系统要求

  • 支持油猴脚本的浏览器(Chrome、Firefox、Edge等)
  • 已安装 Tampermonkey 或 Greasemonkey 扩展

📖 使用说明

基本使用

  1. 访问 B站领奖页面
  2. 脚本会自动加载并移除按钮限制
  3. 页面右上角显示可拖动控制面板,包含时间显示和所有控制功能
  4. 智能模式:当按钮文字变为"领取奖励"时,脚本会自动开始领奖
  5. 手动模式:也可以手动选择间隔并点击"开始自动领奖"按钮(默认500ms)
  6. 脚本会自动停止或可手动点击"停止自动领奖"按钮

控制面板功能

拖动功能

  • 拖动方式:点击标题栏任意位置即可拖动面板
  • 自适应定位:使用百分比定位,窗口大小改变时自动调整
  • 边界保护:面板始终保持在可视范围内,不会超出屏幕

自动点一次功能

  • 触发时机:页面活跃后自动执行一次点击
  • 主要用途:通过验证码检测,确保后续自动化功能正常工作
  • 智能跳过:如果按钮已显示"查看奖励"则自动跳过
  • 开关控制:可通过右侧开关按钮启用/禁用

1点自动领奖功能

  • 执行时间:每天00:59:59自动刷新页面
  • 预备机制:确保1点时页面已完全加载就绪
  • 配合使用:与自动触发检测配合,实现真正的全自动领奖
  • 开关控制:可通过右侧开关按钮启用/禁用

验证码智能检测

  • 检测目标body > div.geetest_panel.geetest_wind > div.geetest_panel_box.geetest_no_logo.geetest_panelshowclick > div.geetest_panel_next
  • 智能暂停:检测到验证码面板时跳过当前点击
  • 自动恢复:验证码完成后自动恢复正常点击
  • 日志记录:控制台显示 'Verification panel detected, skipping click'

智能自动触发说明

  • 触发条件:按钮文字显示为"领取奖励"时
  • 检测频率:每2秒自动检测一次
  • 安全机制
    • 只在未运行时触发,避免重复启动
    • 保持所有原有的停止条件和安全保护
    • 与手动控制完全兼容
  • 用户体验:无需任何手动操作,完全自动化

时间显示说明

  • 位置:控制面板底部,美观的渐变设计
  • 精度:毫秒级精确显示
  • 格式
    • 上行:HH:MM:SS.mmm (时间)
    • 下行:YYYY-MM-DD (日期)
  • 数据源:优先使用 北京时间网站,网络异常时使用本地时间

验证提示说明

  • 位置:控制面板底部
  • 内容:提醒用户先手动领奖一次通过验证码检测
  • 重要性:确保自动化功能正常工作的前提条件

间隔选择说明

  • 100ms (极快):每秒10次点击,适合网络良好时使用
  • 200ms (快):每秒5次点击,平衡速度与稳定性
  • 500ms (中):每秒2次点击,网络一般时推荐 ⭐默认选项
  • 800ms (慢):每1.25秒1次点击,网络不稳定时使用
  • 1000ms (很慢):每秒1次点击,避免频率限制

状态指示

  • 🔵 蓝色按钮:待机状态,可以开始
  • 🔴 红色按钮:运行中,可以停止
  • 🟢 绿色提示:成功开始自动领奖(显示当前间隔或自动触发)
  • 🔵 蓝色提示:信息状态(停止、完成、设置更改等)
  • 🔴 红色提示:错误提示(找不到按钮等)

自动停止条件

脚本会在以下情况自动停止:

  • ✅ 检测到"查看奖励"文本(领奖成功)
  • 🚫 检测到"每日库存已达上限"
  • ❌ 检测到"暂无领取资格"
  • ⏰ 运行超过30秒(安全保护)

错误恢复机制

  • 🔍 自动检测:每1秒检测页面是否出现错误弹窗
  • 🔄 智能刷新:检测到"参数错误"等弹窗时自动刷新页面
  • 🛡️ 永久监控:整个会话期间持续保护

🎛️ 界面说明

统一控制面板

  • 位置:页面右上角(可拖动)
  • 结构
    • 标题栏:显示"自动领奖",整个区域可拖动
    • 控制区域:开始/停止按钮、间隔选择器、功能开关
    • 时间显示:实时北京时间,毫秒级精确
    • 提示区域:验证码检测提醒
  • 特点
    • 现代毛玻璃设计,半透明背景
    • 紧凑布局,间距协调
    • 响应式设计,适应不同屏幕

开关按钮样式

  • 设计:现代switch开关样式,替代传统复选框
  • 状态:绿色开启,灰色关闭
  • 交互:悬停放大效果,点击切换状态
  • 提示:悬停显示详细功能说明

消息提示系统

  • 位置:控制面板左侧,跟随面板移动
  • 特点:堆栈式显示,支持多条消息同时显示
  • 持续时间:每条消息显示3秒后自动消失
  • 动画:从左侧滑入,消失时滑出

⚙️ 技术参数

参数 说明
点击间隔选项 100/200/500/800/1000ms 5档可选择点击速度
默认点击间隔 500ms 首次使用的默认值
超时时间 30秒 防止无限运行
检查间隔 2秒 定期移除disable状态
消息显示时间 3秒 提示消息自动消失时间
时间更新频率 100ms 实时时间显示更新间隔
错误检测频率 1秒 页面错误监控间隔
自动触发检测频率 2秒 智能自动触发检测间隔
验证码检测频率 点击间隔 随自动点击一同检测
设置存储 localStorage 本地保存用户偏好设置
定位方式 百分比 响应式布局,适应窗口变化

🐛 故障排除

常见问题

Q: 脚本没有自动加载?
A: 检查页面URL是否匹配,确保是B站领奖页面

Q: 找不到领奖按钮?
A: 页面可能还在加载,等待1-2秒后再试

Q: 按钮还是灰色的?
A: 脚本会每2秒自动检查并移除disable状态

Q: 自动点击没反应?
A: 检查浏览器控制台是否有错误信息

Q: 点击太快被限制了怎么办?
A: 选择更慢的间隔设置,推荐使用500ms或更高

Q: 间隔设置没有保存?
A: 确保浏览器允许本地存储,或尝试刷新页面重新设置

Q: 时间显示不准确?
A: 时间优先使用北京时间网站,网络问题时会自动切换到本地时间

Q: 页面总是出现错误弹窗?
A: 脚本会自动检测并刷新页面,如果频繁出现可能是网络或服务器问题

Q: 智能自动触发没有工作?
A: 确保按钮文字确实是"领取奖励",脚本每2秒检测一次

Q: 为什么需要先手动领奖一次?
A: 某些页面需要先通过验证码检测,建议按照提示先手动操作一次

Q: 控制面板拖动后找不到了?
A: 刷新页面,面板会回到默认位置(右上角2%)

Q: 验证码出现时还在点击怎么办?
A: 脚本会自动检测验证码面板并暂停点击,完成验证后自动恢复

Q: 1点自动领奖没有生效?
A: 确保开关已开启,脚本会在00:59:59刷新页面为1点做准备

Q: 窗口大小改变后面板位置不对?
A: 脚本会自动调整,如有问题可尝试刷新页面

🔧 开发技术

  • UI框架:原生JavaScript + CSS3
  • 定位系统:百分比响应式定位
  • 拖拽功能:DOM事件处理 + 边界检测
  • 存储机制:localStorage持久化
  • 时间同步:iframe跨域获取北京时间
  • 消息系统:队列管理 + CSS3动画
  • 验证码检测:DOM选择器 + 轮询检测

⚠️ 免责声明

本脚本仅供学习和个人使用,请遵守网站的使用条款和相关法律法规。使用本脚本产生的任何后果由使用者自行承担。

📄 许可证

MIT License - 可自由使用、修改和分发


祝你领奖愉快! 🎉