您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Beta version of a fishing reward logging script. Features coming soon: Webhooks!
当前为
- // ==UserScript==
- // @name GC - Fishing Logger
- // @namespace Grundo's Cafe
- // @match https://www.grundos.cafe/water/fishing/
- // @version 1
- // @license MIT
- // @author Cupkait
- // @description Beta version of a fishing reward logging script. Features coming soon: Webhooks!
- // ==/UserScript==
- //Last updated: December 24, 2023
- const getPetLevelsAsync = fetch("/quickref/")
- .then(response => {
- if (!response.ok) {
- throw new Error(`Network response was not ok: ${response.statusText}`);
- }
- return response.text();
- })
- .then(html => {
- const tempElement = document.createElement('div');
- tempElement.innerHTML = html;
- const petList = tempElement.querySelector('#quickref_petlist').children;
- const petLevels = {};
- $(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];
- petLevels[petrefName] = petFishingLevel;
- });
- return petLevels;
- })
- .catch(error => {
- console.error(error);
- });
- let confirmResults = document.createElement("div");
- confirmResults.innerHTML = "Pending...";
- confirmResults.id = "confirmResults";
- confirmResults.style.cssText = "color: green; text-align: center; link-color:green; font-size:14px; font-weight:bold;";
- 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;
- let opts = {
- mode: "no-cors",
- referrer: "no-referrer",
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded',
- }
- }
- 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 userName = /user=(.*?)"/g.exec(document.body.innerHTML)[1];
- const petName = $("#userinfo a").eq(2).text();
- const coolDown = content.find("strong").eq(0).text();
- const itemName = fishContent.querySelector("img").alt;
- let petLevel = petLevels[petName] || ' ';
- let levelUp = '';
- try {
- levelUp = content.find("p").eq(2).text().match(/to (.*?)!/)[1];
- petLevel = !isNaN(levelUp) ? parseInt(levelUp, 10) - 1 : petLevel;
- } catch (error) {
- // DO NOTHING
- }
- fishContent.insertAdjacentElement('beforebegin', confirmResults);
- confirmResults.innerHTML = `Your fishing results have been <a href="https://lookerstudio.google.com/reporting/ec18c798-ee62-4a7d-8315-5569c8de5ef6" target="_blank">submitted</a>.`
- 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, opts);
- } else {
- $(".flex.center-items.big-gap").each(function () {
- const userName = /user=(.*?)"/g.exec(document.body.innerHTML)[1];
- const petName = $(this).find("strong").eq(0).text();
- const itemURL = $(this).find("img").eq(1).attr("src");
- const coolDown = $(this).find("strong").eq(1).text();
- const itemName = $(this).find("p").eq(0).text().match(/ a (.*?)!/)[1];
- let petLevel = petLevels[petName] || '';
- let levelUp = '';
- try {
- levelUp = $(this).find("p").eq(1).text().match(/to (.*?)!/)[1];
- petLevel = !isNaN(levelUp) ? parseInt(levelUp, 10) - 1 : petLevel;
- } catch (error) {
- // DO NOTHING
- }
- fishContent.insertAdjacentElement('beforebegin', confirmResults);
- confirmResults.innerHTML = `Your fishing results have been <a href="https://lookerstudio.google.com/reporting/ec18c798-ee62-4a7d-8315-5569c8de5ef6" target="_blank">submitted</a>.`
- 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, opts);
- });
- }
- }
- });