// ==UserScript== // @name Faucetme.xyz Auto faucet // @namespace bekerja pada tampermonkey maupun violentmonkey // @version 0.3 // @description Automatically login, scroll, and click faucet / Ptc // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @grant window.onurlchange // @grant GM_registerMenuCommand // @require https://update.greasyfork.org/scripts/439099/1203718/MonkeyConfig%20Modern%20Reloaded.js // @match https://faucetme.xyz/* // @icon https://i.ibb.co/XJSPdz0/large.png // @license Copyright OjoNgono // @downloadURL none // ==/UserScript== const cfg = new MonkeyConfig({ title: 'Input Email Faucetpay:', menuCommand: true, params: { Email: { label: "Email Faucetpay", type: "text", default: '' }, } }); const savedEmail = cfg.get('Email'); if (!savedEmail) { alert("Silakan masukkan Email Faucetpay di menu pengaturan untuk melanjutkan."); return; } // Fungsi untuk mengisi email function fillEmail() { const emailInput = document.querySelector('input[placeholder="Connect Your FaucetPay Email"]'); if (emailInput) { emailInput.value = savedEmail; } } // Fungsi untuk mengarahkan ulang ke dashboard function handleDashboardRedirect() { if (window.location.href === "https://faucetme.xyz/dashboard") { if (!window.localStorage.getItem("redirected")) { window.localStorage.setItem("redirected", "true"); window.location.href = "https://faucetme.xyz/?r=153"; } } else if (window.location.href === "https://faucetme.xyz/?r=153") { window.localStorage.removeItem("redirected"); } } // Fungsi untuk scroll otomatis dan klik tombol klaim function smoothScrollAndClick() { let scrollDirection = 1; const interval = setInterval(() => { window.scrollBy({ top: scrollDirection * window.innerHeight, behavior: 'smooth' }); if (window.innerHeight + window.scrollY >= document.body.offsetHeight) { scrollDirection = -1; } else if (window.scrollY === 0) { scrollDirection = 1; } const claimButton = document.querySelector('button.btn.btn-primary[type="submit"]'); if (claimButton && !claimButton.disabled) { claimButton.click(); clearInterval(interval); } }, 2000); } // Fungsi untuk memeriksa pesan sukses dan mengarahkan ulang function checkAndRedirect() { const popup = document.querySelector('.swal2-popup.swal2-icon-success'); if (popup) { const successMessage = popup.querySelector('.swal2-title'); if (successMessage && successMessage.textContent.includes("Success!")) { window.location.href = "https://faucetme.xyz/ads"; } } } // Fungsi klik tombol berdasarkan teks function clickByText(buttonText) { const buttons = document.querySelectorAll('a.btn'); for (const button of buttons) { if (button.textContent.trim() === buttonText) { button.click(); return true; } } return false; } // Fungsi untuk menunggu dan mengklik tombol berdasarkan teks function waitAndClick(buttonText, interval = 500, maxAttempts = 20) { let attempts = 0; const timer = setInterval(() => { attempts++; if (clickByText(buttonText) || attempts >= maxAttempts) { clearInterval(timer); } }, interval); } // Fungsi untuk menangani insufficient funds function handleInsufficientFunds(faucetUrls, currentFaucetIndex) { const messagesToCheck = [ { selector: '.swal2-popup.swal2-icon-warning #swal2-content', text: "You have been rate-limited. Please try again in a few seconds." }, { selector: '.swal2-popup.swal2-icon-warning #swal2-content', text: "The faucet does not have sufficient funds for this transaction." }, { selector: '.alert.alert-danger.text-center', text: "Daily claim limit for this coin reached, please comeback again tomorrow, or invite more people to get additional claims." }, { selector: 'span.text-danger', text: "Balance empty, refilling can take up to 24 hours, please be patient" }, ]; for (const { selector, text } of messagesToCheck) { const element = document.querySelector(selector); if (element && element.innerText.trim() === text) { if (currentFaucetIndex < faucetUrls.length - 1) { currentFaucetIndex++; localStorage.setItem("currentFaucetIndex", currentFaucetIndex); window.location.href = faucetUrls[currentFaucetIndex]; } else { localStorage.removeItem("currentFaucetIndex"); } return; } } } // Fungsi untuk memeriksa tombol dan mengklik function checkButtonAndRedirect(redirectUrl) { const button = document.querySelector('button[data-target="#ptcCaptcha"][data-toggle="modal"].bg-primary.float.bg-success'); if (!button || button.disabled) { window.location.href = redirectUrl; } } // Fungsi klik tombol berdasarkan selector function clickRewardButton() { setTimeout(() => { const button = document.getElementById('subbutton'); if (button && !button.hasAttribute('disabled')) { button.click(); } }, 16000); } // Logika utama berdasarkan URL if (window.location.href === "https://faucetme.xyz/dashboard") { window.addEventListener('load', () => { handleDashboardRedirect(); fillEmail(); smoothScrollAndClick(); setInterval(checkAndRedirect, 1000); }); } if (window.location.href.startsWith("https://faucetme.xyz/faucet/currency/")) { const faucetUrls = [ "https://faucetme.xyz/faucet/currency/xrp", "https://faucetme.xyz/faucet/currency/doge", "https://faucetme.xyz/faucet/currency/eth", "https://faucetme.xyz/faucet/currency/sol", "https://faucetme.xyz/faucet/currency/ltc", "https://faucetme.xyz/faucet/currency/bnb" ]; let currentFaucetIndex = parseInt(localStorage.getItem("currentFaucetIndex")) || 0; handleInsufficientFunds(faucetUrls, currentFaucetIndex); const claimButton = document.querySelector('button.btn.btn-primary[type="submit"]'); if (claimButton) { setTimeout(() => { claimButton.click(); }, 10000); } } if (window.location.href === "https://faucetme.xyz/ads") { const redirectUrl = "https://faucetme.xyz/faucet/currency/trx"; const interval = setInterval(() => { checkButtonAndRedirect(redirectUrl); }, 2000); setTimeout(() => { clearInterval(interval); }, 10000); } window.addEventListener('load', () => { waitAndClick('Go Claim', 500, 30); }); const targetLink = document.querySelector('a.btn.btn-primary.btn-block.mb-2[href*="/ads/view/"]'); if (targetLink) { targetLink.click(); } setInterval(clickRewardButton, 5000);