🏠 Home 

Extract_Gift_link_Indiegala

Indiegala礼物链接提取


Install this script?
// ==UserScript==
// @name:zh-CN         IG礼物链接提取
// @name               Extract_Gift_link_Indiegala
// @namespace          https://blog.chrxw.com/
// @version            0.8
// @description:zh-CN  Indiegala礼物链接提取
// @description        Indiegala礼物链接提取
// @author             Chr_
// @license            AGPL-3.0
// @icon               https://blog.chrxw.com/favicon.ico
// @match              https://www.indiegala.com/library
// @grant              GM_setClipboard
// ==/UserScript==
(() => {
"use strict";
let GObjs = {};
addbtn();
function addbtn() {
let area = document.querySelector("div.profile-private-page-user");
let dv1 = document.createElement("div");
let dv2 = document.createElement("div");
let dv3 = document.createElement("div");
let btnExtractGift = document.createElement("button");
let btnExtractKey = document.createElement("button");
let btnCopy = document.createElement("button");
let btnClear = document.createElement("button");
let txtR###lt = document.createElement("textarea");
dv1.style.cssText = "margin: 12px 0;display: flex;";
dv2.style.cssText = "margin: 0 12px;display: block;";
dv3.style.cssText = "margin: 0 12px;display: block;";
btnExtractGift.addEventListener("click", extractGift);
btnExtractKey.addEventListener("click", extractKey);
btnCopy.addEventListener("click", copy);
btnClear.addEventListener("click", clear);
btnExtractGift.style.cssText = "display: inherit;";
btnClear.style.cssText = "float: right;";
btnExtractGift.textContent = "提取礼物链接";
btnExtractKey.textContent = "提取Key";
btnCopy.textContent = "复制";
btnClear.textContent = "×";
btnCopy.id = "btnCopy";
txtR###lt.style.cssText = "width: 70%;white-space: nowrap;";
txtR###lt.id = "extractLinks";
dv2.appendChild(btnExtractGift);
dv2.appendChild(btnExtractKey);
dv3.appendChild(btnCopy);
dv3.appendChild(btnClear);
dv1.appendChild(dv2);
dv1.appendChild(txtR###lt);
dv1.appendChild(dv3);
area.appendChild(dv1);
Object.assign(GObjs, { txtR###lt, btnCopy });
}
function extractGift() {
const { txtR###lt } = GObjs;
let gifts = document.querySelectorAll("div[ref=bundle] ul.profile-private-page-library-sublist-active div.profile-private-page-library-gifts div.profile-private-page-library-gift-title > div.overflow-auto");
if (gifts.length > 0) {
let list = [];
let old = txtR###lt.value;
for (let gift of gifts) {
let giftLink = gift.querySelector("a").href;
let giftPass = gift.querySelector("div:last-child>span").textContent;
if (old.indexOf(giftLink.substring(38,)) >= 0) {
console.log(`重复的礼物链接 ${giftLink.substring(38,)}`);
continue;
}
list.push(`IG慈善包链接:( ${giftLink} )IG慈善包密码:( ${giftPass} )`);
}
if (list.length > 0) {
if (txtR###lt.value !== "") {
txtR###lt.value += "\n";
}
txtR###lt.value += list.join("\n");
}
} else {
alert("未找到可识别的礼物链接");
}
copy();
}
function extractKey() {
const { txtR###lt } = GObjs;
let cols = document.querySelectorAll("ul.profile-private-page-library-sublist-active div.profile-private-page-library-key-cont.overflow-auto");
if (cols.length > 0) {
let list = [];
let old = txtR###lt.value;
for (let col of cols) {
const gameName = col.querySelector("div.profile-private-page-library-title-row-full")?.title ?? "";
const gameKey = col.querySelector("input")?.value ?? "";
if (old.indexOf(gameKey) >= 0) {
console.log(`重复的key ${giftLink.substring(38,)}`);
continue;
}
list.push(`${gameName}  ${gameKey}`);
}
if (list.length > 0) {
if (txtR###lt.value !== "") {
txtR###lt.value += "\n";
}
txtR###lt.value += list.join("\n");
}
} else {
alert("未找到可识别的Key信息");
}
copy();
}
function copy() {
const { btnCopy, txtR###lt } = GObjs;
GM_setClipboard(txtR###lt.value, "text");
btnCopy.textContent = "已复制";
setTimeout(() => { btnCopy.textContent = "复制"; }, 1000);
}
function clear() {
const { txtR###lt } = GObjs;
if (confirm("确定要清空吗?")) {
txtR###lt.value = "";
}
}
})();