Rimakoko Auto Clicker

Automatically fills wallet and cycles through buttons on rimakoko.com and related URLs. Detects popups and closes them to return to the main tab.

目前為 2025-07-30 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Rimakoko Auto Clicker
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Automatically fills wallet and cycles through buttons on rimakoko.com and related URLs. Detects popups and closes them to return to the main tab.
// @author       Rubystance
// @license      MIT
// @match        https://rimakoko.com/*
// @match        https://donaldco.in/rimakoko.php
// @match        https://myzeroland.com/rimakoko.php
// @grant        none
// ==/UserScript==

(async function () {
    'use strict';

    const walletAddress = 'YOUR_WALLET_HERE'; // Replace with your zero wallet

    function delay(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }

    async function fillWalletAndEnter() {
        const input = document.querySelector('input[name="bitcoinwallet"]');
        const enterBtn = Array.from(document.querySelectorAll('input.submit'))
            .find(el => el.value.includes('Enter & Earn Crypto'));

        if (input && enterBtn) {
            input.value = walletAddress;
            console.log('Wallet filled:', walletAddress);
            enterBtn.click();
            console.log('Clicked "Enter & Earn Crypto"');
            return true;
        }
        return false;
    }

    async function clickImNotBot() {
        const btn = Array.from(document.querySelectorAll('input.submit2'))
            .find(el => el.value === "I'm Not Bot");
        if (btn) {
            btn.click();
            console.log('Clicked "I\'m Not Bot"');
            return true;
        }
        return false;
    }

    async function clickGetCrypto() {
        for (let i = 0; i < 10; i++) {
            const btn = Array.from(document.querySelectorAll('input.submit2'))
                .find(el => el.value === 'Get Crypto');

            if (btn && !btn.disabled) {
                btn.focus();
                btn.click();
                console.log('Clicked "Get Crypto"');
                return true;
            }
            await delay(1000);
        }
        console.log('"Get Crypto" button not found or not clickable after attempts');
        return false;
    }

    async function clickReturn() {
        for (let i = 0; i < 20; i++) {
            const btn = Array.from(document.querySelectorAll('input.submit2'))
                .find(el => el.value === 'Return');
            if (btn) {
                btn.click();
                console.log('Clicked "Return"');
                return true;
            }
            await delay(1000);
        }
        console.log('"Return" button not found after attempts');
        return false;
    }

    function closeIfPopup() {
        try {
            if (window.opener && !window.opener.closed) {
                window.close();
                console.log('Popup window closed. Returning to main tab.');
            }
        } catch (e) {
            // Ignore errors
        }
    }

    async function clickEatMore() {
        for (let i = 0; i < 20; i++) {
            const buttons = document.querySelectorAll('input.submit2');
            for (const btn of buttons) {
                if (btn.value && btn.value.startsWith('Eat More')) {
                    btn.click();
                    console.log('Clicked "Eat More":', btn.value);
                    return true;
                }
            }
            await delay(1000);
        }
        console.log('"Eat More" button not found after attempts');
        return false;
    }

    async function clickEatBurger() {
        const btn = Array.from(document.querySelectorAll('input.submit2'))
            .find(el => el.value === 'Eat Burger');
        if (btn) {
            btn.click();
            console.log('Clicked "Eat Burger"');
            return true;
        }
        return false;
    }

    async function mainLoop() {
        while (true) {
            const url = location.href;

            if (url.includes('rimakoko.com')) {
                console.log('rimakoko.com page detected');

                if (await fillWalletAndEnter()) {
                    await delay(2000);
                    continue;
                }

                if (await clickImNotBot()) {
                    await delay(2000);
                    continue;
                }

                console.log('Trying to click "Get Crypto"...');
                if (await clickGetCrypto()) {
                    await delay(2000);
                    continue;
                }

                if (await clickReturn()) {
                    await delay(2000);
                    closeIfPopup();
                    await delay(2000);
                    continue;
                }

                if (await clickEatMore()) {
                    await delay(2000);
                    continue;
                }

                console.log('No action this iteration. Waiting 5s...');
                await delay(5000);

            } else if (url.includes('donaldco.in/rimakoko.php')) {
                console.log('donaldco.in page detected');
                if (await clickEatBurger()) {
                    await delay(2000);
                    continue;
                }
                await delay(2000);

            } else if (url.includes('myzeroland.com/rimakoko.php')) {
                console.log('myzeroland.com page detected');
                if (await clickEatBurger()) {
                    await delay(2000);
                    continue;
                }
                await delay(2000);

            } else {
                console.log('Page not monitored by this script.');
                await delay(2000);
            }
        }
    }

    window.addEventListener('load', () => {
        console.log('Script started');
        closeIfPopup();
        mainLoop();
    });

})();