SatsFaucet Auto Claim + Refresh

Auto claim Faucet no SatsFaucet

Versión del día 26/07/2025. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name         SatsFaucet Auto Claim + Refresh
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Auto claim Faucet no SatsFaucet
// @author       Rubystance
// @license      MIT
// @match        https://www.satsfaucet.com/*
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function () {
    'use strict';

    function waitForElement(selector, timeout = 30000) {
        return new Promise((resolve, reject) => {
            const startTime = Date.now();

            const interval = setInterval(() => {
                const element = document.querySelector(selector);
                if (element) {
                    clearInterval(interval);
                    resolve(element);
                } else if (Date.now() - startTime > timeout) {
                    clearInterval(interval);
                    reject(`Timeout when waiting for ${selector}`);
                }
            }, 500);
        });
    }

    async function claimFaucet() {
        try {
            // Clica na aba Faucet
            const faucetLink = await waitForElement('a[href="/app/bounty"]');
            console.log("➡️ Clicking on faucet tab...");
            faucetLink.click();

            await new Promise(resolve => setTimeout(resolve, 3000));

            const buttons = Array.from(document.querySelectorAll('button'));
            const targetBtn = buttons.find(btn => btn.textContent.trim() === 'Claim');

            if (targetBtn) {
                console.log("✅ Clicking on claim button...");
                targetBtn.click();
            } else {
                console.warn("⚠️ 'Claim' button not found.");
            }
        } catch (e) {
            console.error("❌ Error to claim:", e);
        }
    }

    function setupAutoReload() {
        setTimeout(() => {
            console.log("🔁 Reload page after 1h10s...");
            location.reload();
        }, 3610000);
    }

    async function loopClaim() {
        await claimFaucet();
        console.log("🕐 Waiting 1h10s to claim...");
        setTimeout(loopClaim, 3610000); // 1h10s
    }

    setupAutoReload();
    loopClaim();

})();
长期地址
遇到问题?请前往 GitHub 提 Issues。