Claim.ourCoinCash.xyz AutoClaim Faucet

Automatically Login and Click Faucet

// ==UserScript==
// @name            Claim.ourCoinCash.xyz AutoClaim Faucet
// @namespace       bekerja pada tampermonkey maupun violentmonkey
// @version         0.9.1
// @author          Ojo Ngono
// @description     Automatically Login and Click Faucet
// @grant           GM_getValue
// @grant           GM_setValue
// @grant           GM_addStyle
// @grant           GM_registerMenuCommand
// @require         https://update.greasyfork.org/scripts/439099/1203718/MonkeyConfig%20Modern%20Reloaded.js
// @match           *://claim.ourcoincash.xyz/*
// @exclude         https://claim.ourcoincash.xyz/auth/login*
// @icon            https://i.ibb.co.com/XJSPdz0/large.png
// @license         Copyright OjoNgono
// @antifeature     referral-link Directs to a referral link when not logged in
// ==/UserScript==

const cfg = new MonkeyConfig({
    title: 'Input Email Faucetpay:',
    menuCommand: true,
    params: {
        Announcements: {
            type: 'text',
            default: 'Input Email Faucetpay',
            long: 2
        },
        Email: {
            label: "EmailFaucetpay",
            type: "text",
            default: ''
        }
    }
});

(function() {
    'use strict';
    const email = cfg.get('Email');
    const loggedIn = document.querySelector('i.fas.fa-user-circle.fa-2x');
    function isLoggedIn() {
        const userIcon = document.querySelector('i.fas.fa-user-circle.fa-2x');
        return userIcon !== null;
    }
    function enforceReferralUrl() {
        if (window.location.href.startsWith("https://claim.ourcoincash.xyz") && !window.location.href.includes("?r=5848")) {
            if (!isLoggedIn()) {
                window.location.replace("https://claim.ourcoincash.xyz/?r=5848");
            }
        }
    }
    let enforceReferralInterval = setInterval(function() {
        if (!isLoggedIn()) {
            enforceReferralUrl();
        } else {
            clearInterval(enforceReferralInterval);
        }
    }, 1000);
    window.addEventListener('load', () => {
        GM_addStyle('label[for="Timeout"] { white-space: pre-wrap; }');
        if (loggedIn) {
            if (!email) {
                alert("Please enter your FaucetPay email in the SETTINGS MENU.");
                forceLogout();
            } else {
                rotateUrls();
            }
        } else {
            if (email) {
                fillLoginForm(email);
            }
        }
    });
    function fillLoginForm(email) {
        const form = document.querySelector('form.user');
        if (form) {
            const emailInput = form.querySelector('input[name="wallet"]');
            if (emailInput) {
                emailInput.value = email;
            }
            const loginButton = form.querySelector('button[type="submit"]');
            if (loginButton) {
                loginButton.click();
            }
        }
    }
    function forceLogout() {
        const logoutButton = document.querySelector('a[href="https://claim.ourcoincash.xyz/auth/logout"]');
        if (logoutButton) {
            logoutButton.click();
        }
    }
    const urls = [
        "https://claim.ourcoincash.xyz/faucet/currency/doge",
        "https://claim.ourcoincash.xyz/faucet/currency/fey",
        "https://claim.ourcoincash.xyz/faucet/currency/doge"
    ];
    let currentIndex = parseInt(localStorage.getItem('currentIndex')) || 0;
    const rotateUrls = () => {
        const loggedIn = document.querySelector('#logoutModal') || document.querySelector('a[href*="logout"]');
        if (loggedIn && window.location.href === "https://claim.ourcoincash.xyz/") {
            window.location.href = urls[currentIndex];
            currentIndex = (currentIndex + 1) % urls.length;
            localStorage.setItem('currentIndex', currentIndex);
        }
    };
    function clickClaimButton() {
        const claimButton = document.querySelector('#subbutt');
        if (claimButton) {
            setTimeout(() => {
                claimButton.click();
            }, 500);
        }
    }
    setInterval(clickClaimButton, 4000);
    function checkForMessage() {
        const swalPopup = document.querySelector('.swal2-popup.swal2-show');
        if (swalPopup) {
            const successMessageContainer = swalPopup.querySelector('.swal2-html-container');
            if (successMessageContainer) {
                const successMessage = successMessageContainer.innerText || "";
                const successIndicator = "You have been rate-limited. Please try again in a few seconds.";
                const insufficientFundsMessage = "The faucet does not have sufficient funds for this transaction.";
                if (successMessage.includes(successIndicator) || successMessage.includes(insufficientFundsMessage)) {
                    window.location.href = "https://claim.ourcoincash.xyz";
                    return;
                }
            }
        }
        const goClaimButton = document.querySelector('h4.next-button a.btn.btn-primary');
        if (goClaimButton && goClaimButton.innerText.includes('Go Claim')) {
            goClaimButton.click();
        }
        const alertDanger = document.querySelector('.alert-danger');
        if (alertDanger) {
            const alertText = alertDanger.innerText || "";
            const dailyLimitMessage = "Daily claim limit for this coin reached, please comeback again tomorrow.";
            setTimeout(() => {
                if (alertText.includes(dailyLimitMessage)) {
                    window.location.replace("https://claim.ourcoincash.xyz");
                }
            }, 1000);
        }
    }
    setInterval(checkForMessage, 1000);
    function clickTryAgain() {
        const tryAgainButton = document.querySelector('a.btn.btn-primary');
        if (tryAgainButton && tryAgainButton.textContent.includes('Try Again')) {
            tryAgainButton.click();
        }
    }
    setInterval(clickTryAgain, 2000);
})();