Greasy Fork is available in English.
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.icu/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);
})();