!!GC - Fishing Logger

Beta version of a fishing reward logging script. Features coming soon: Webhooks!

目前為 2023-12-21 提交的版本,檢視 最新版本

// ==UserScript==
// @name        !!GC - Fishing Logger
// @namespace   Grundo's Cafe
// @match       https://www.grundos.cafe/water/fishing/
// @grant       none
// @version     .2
// @license     MIT
// @author      Cupkait
// @description Beta version of a fishing reward logging script. Features coming soon: Webhooks!
// ==/UserScript==

//Last updated: December 21, 2023


const getPetLevelsAsync = fetch("/quickref/")
    .then(response => {
        if (!response.ok) {
            throw new Error(`Network response was not ok: ${response.statusText}`);
        }
        // Do nothing.
    })
    .then(html => {
        const tempElement = document.createElement('div');
        tempElement.innerHTML = html;
        const petList = tempElement.querySelector('#quickref_petlist').children;

        const petArray = {};

        $(petList).each(function () {
            const petrefName = $(this).find('a').eq(0).attr('href').match(/_name=(.*?)$/)[1];
            const petFishingLevel = $(this).find('span').eq(12).text().match(/Fishing : (.*?)$/)[1];
            petArray[petrefName] = petFishingLevel;
        });

        return petArray;
    })
    .catch(error => {
//Do Nothing
    });

getPetLevelsAsync.then(petLevels => {
    const fishContent = document.querySelector('div#page_content > main');
    const welcomeText = fishContent.children[1].innerText;
    const patientText = fishContent.children[2].innerText;
    const petCount = document.querySelectorAll('main > div > div');
    const petName = document.querySelector('div#userinfo > a').href;

    if (welcomeText.startsWith('Welcome to the') || patientText.startsWith('Nothing!')) {
        console.log("Nothing to log here... it looks like no one went fishing.");
    } else {
        if (petCount.length === 0) { // One Pet
            const content = $("#page_content");
            const userInfo = $("#userinfo");
            const petName = userInfo.find("a").eq(2).text();
            const userName = /user=(.*?)"/g.exec(document.body.innerHTML)[1];
            const coolDown = content.find("strong").eq(0).text();
            const itemName = fishContent.querySelector("img").alt;
            const itemImage = fishContent.querySelector("strong").text;
            
            let petLevel = ' '; // Default value
            
            const levelUp = content.find("p").eq(2).text().match(/to (.*?)!/)[1];
            try {
                if (!isNaN(levelUp)) {
                    // If levelUp is a number, subtract 1 to get petLevel
                    petLevel = parseInt(levelUp, 10) - 1;
                }
            } catch (error) {
                petLevel = petLevels[petName];
            }

            const logResponse = `https://docs.google.com/forms/d/e/1FAIpQLSdBhJS1NSxHCmy32BqH0DEdQRJci1IVPOWUFcaothsiZjXu-w/formResponse?usp=pp_url&entry.886049257=${userName}&entry.343654154=${petName}&entry.1922136733=${petLevel}&entry.693447328=${levelUp}&entry.881968876=${itemName}&entry.303510013=${coolDown}`;
            fetch(logResponse);
        } else {
            $(".flex.center-items.big-gap").each(function () {
                const petName = $(this).find("strong").eq(0).text();
                const userName = /user=(.*?)"/g.exec(document.body.innerHTML)[1];
                const coolDown = $(this).find("strong").eq(1).text();
                const petImage = $(this).find("img").eq(0).attr("src");
                const itemImage = $(this).find("img").eq(1).attr("src");
                const itemName = $(this).find("p").eq(0).text().match(/ a (.*?)!/)[1];
                let petLevel = ' '; // Default value
            
            const levelUp = $(this).find("p").eq(1).text().match(/to (.*?)!/)[1];
            try {
                if (!isNaN(levelUp)) {
                    // If levelUp is a number, subtract 1 to get petLevel
                    petLevel = parseInt(levelUp, 10) - 1;
                }
            } catch (error) {
                petLevel = petLevels[petName];
            }
                const logResponse = `https://docs.google.com/forms/d/e/1FAIpQLSdBhJS1NSxHCmy32BqH0DEdQRJci1IVPOWUFcaothsiZjXu-w/formResponse?usp=pp_url&entry.886049257=${userName}&entry.343654154=${petName}&entry.1922136733=${petLevel}&entry.693447328=${levelUp}&entry.881968876=${itemName}&entry.303510013=${coolDown}`;
                fetch(logResponse);
            });
        }
    }
});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址