Auto Loot

自动领取每日奖励

当前为 2021-01-13 提交的版本,查看 最新版本

// ==UserScript==
// @name         Auto Loot
// @namespace    https://blog.chrxw.com
// @version      0.2
// @description  自动领取每日奖励
// @author       Chr_
// @include      https://www.lootlink.me/*
// @grant        none
// ==/UserScript==

(function () {
    showLabel();
    window.onload = dailyClaim;

})();


// 显示标签
function showLabel() {
    let uname = document.querySelector('#profileMenuInvoker>span');
    let tag = document.createElement('span');
    tag.textContent = ' (By Chr_) '
    uname.appendChild(tag);
}

// 每日签到
function dailyClaim() {
    const MAX = 50;
    let tries = 0;
    let flag = clickCoin();
    if (flag) {
        retry(claimCoin, 500);
    }
    function clickCoin() {
        let coins = document.querySelectorAll('.roll-coin-large:not(.grayscale)');
        for (coin of coins) {
            try {
                // let parent =
                coin.parentElement.click();
            } catch (e) {
                console.log(e);
                throw e;
            }
        }
        return true;
    }
    function claimCoin() {
        let claimbtn = document.querySelector("#cratetab > a");
        if (claimbtn) {
            claimbtn.click();
            tries = 0;
            retry(closePanel, 500);
        } else {
            retry(claimCoin, 500);
        }
    }
    function closePanel() {
        let title = document.querySelector("#cratetab > h4");
        if (title.textContent == 'Opened!') {
            let closebtn = document.querySelector("#crate-modal > button");
            closebtn.click();
        } else {
            retry(closePanel, 500);
        }
    }
    function retry(foo, t) {
        console.log(foo.name);
        if (tries++ <= MAX) {
            setTimeout(() => {
                try {
                    foo();
                }
                catch (e) {
                    throw e;
                    console.log(e);
                }
            }, t);
        } else {
            alert('操作超时,请检查F12,可以的话请汇报日志');
        }
    }
}