OnlyFaucet Auto Claim + Captcha Check

Refresh if captcha not solved in 8s, auto-claim if '✓ Correct!'

// ==UserScript==
// @name         OnlyFaucet Auto Claim + Captcha Check
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Refresh if captcha not solved in 8s, auto-claim if '✓ Correct!'
// @author       👽
// @license      MIT
// @match        *://*.onlyfaucet.com/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    console.log('OnlyFaucet Auto Script loaded');

    // Check captcha solved at 8 seconds
    setTimeout(() => {
        const captchaFrame = document.querySelector('iframe[src*="hcaptcha.com"], iframe[src*="recaptcha"]');
        const isCaptchaHidden = captchaFrame && captchaFrame.offsetParent === null;

        if (captchaFrame && !isCaptchaHidden) {
            console.warn('Captcha not solved. Reloading page...');
            location.reload();
        } else {
            console.log('Captcha appears to be solved or not present.');
        }
    }, 8000);

    // Check for "✓ Correct!" div at 9 seconds
    setTimeout(() => {
        // Use text content check, and color style only to be safer
        const correctDiv = Array.from(document.querySelectorAll('div')).find(div =>
            div.textContent.trim() === '✓ Correct!' &&
            window.getComputedStyle(div).color === 'rgb(22, 163, 74)'
        );

        if (!correctDiv) {
            console.warn("'✓ Correct!' div not found by 9 seconds. Reloading page...");
            location.reload();
        } else {
            console.log("'✓ Correct!' div found.");
        }
    }, 9000);

    // Try to click "Claim Now" at 10 seconds
    setTimeout(() => {
        const claimButton = Array.from(document.querySelectorAll('span')).find(
            span => span.textContent.trim() === 'Claim Now'
        );

        if (claimButton) {
            console.log("'Claim Now' button found. Clicking...");
            claimButton.click();
        } else {
            console.warn("'Claim Now' button not found.");
        }
    }, 10000);
})();