Fix jQuery and chest clicking?

This commit is contained in:
tretrauit 2021-07-05 11:18:14 +00:00
parent 61bff36c5c
commit be75abf7b3

View File

@ -1,95 +1,91 @@
(async function() { // Fetch jQuery
// Fetch jQuery await fetch("https://code.jquery.com/jquery-3.6.0.min.js").then(x => x.text()).then(y => eval(y))
let jquery = await fetch("https://code.jquery.com/jquery-3.6.0.min.js").then(x => x.text()).then(y => eval(y)) // Wait for jQuery to be loaded.
let meaningOfLife = false; async function execjQuery() {
async function waitForJQuery(){ while (!window.jQuery) {
while (true) {
if ($ != null){
$("window").off("mouseup")
return
}
await null; // prevents app from hanging
}
} }
waitForJQuery(); $("window").off("mouseup")
{ }
// From https://stackoverflow.com/a/53914092 execjQuery()
class ClassWatcher { {
// From https://stackoverflow.com/a/53914092
class ClassWatcher {
constructor(targetNode, classToWatch, classAddedCallback, classRemovedCallback) { constructor(targetNode, classToWatch, classAddedCallback, classRemovedCallback) {
this.targetNode = targetNode this.targetNode = targetNode
this.classToWatch = classToWatch this.classToWatch = classToWatch
this.classAddedCallback = classAddedCallback this.classAddedCallback = classAddedCallback
this.classRemovedCallback = classRemovedCallback this.classRemovedCallback = classRemovedCallback
this.observer = null this.observer = null
this.lastClassState = targetNode.classList.contains(this.classToWatch) this.lastClassState = targetNode.classList.contains(this.classToWatch)
this.init() this.init()
} }
init() { init() {
this.observer = new MutationObserver(this.mutationCallback) this.observer = new MutationObserver(this.mutationCallback)
this.observe() this.observe()
} }
observe() { observe() {
this.observer.observe(this.targetNode, { attributes: true }) this.observer.observe(this.targetNode, { attributes: true })
} }
disconnect() { disconnect() {
this.observer.disconnect() this.observer.disconnect()
} }
mutationCallback = mutationsList => { mutationCallback = mutationsList => {
for(let mutation of mutationsList) { for(let mutation of mutationsList) {
if (mutation.type === 'attributes' && mutation.attributeName === 'class') { if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
let currentClassState = mutation.target.classList.contains(this.classToWatch) let currentClassState = mutation.target.classList.contains(this.classToWatch)
if(this.lastClassState !== currentClassState) { if(this.lastClassState !== currentClassState) {
this.lastClassState = currentClassState this.lastClassState = currentClassState
if(currentClassState) { if(currentClassState) {
this.classAddedCallback() this.classAddedCallback()
} }
else { else {
this.classRemovedCallback() this.classRemovedCallback()
}
} }
} }
} }
} }
} }
var disableChest = false
function clickFirstButtonByClassName(className) {
document.getElementsByClassName(className)[0].dispatchEvent(new MouseEvent("click"));
}
// Click the spin button
function spin() {
if (document.getElementsByClassName("popup-draw__card").length > 0) {
// Do pick random 3 cards instead of spin.
let teams = document.getElementsByClassName("popup-draw__card")
for (let i = 0; i < 3; i++) {
teams[i].dispatchEvent(new MouseEvent("click"));
}
}
else {
// Spin
clickFirstButtonByClassName("wheel__main--note")
if (!disableChest) {
clickFirstButtonByClassName("chest")
}
document.getElementById("widget2").dispatchEvent(new MouseEvent("click"));
}
}
// Close the dialog
function closeSwal2() {
if (document.getElementsByClassName("popup-alert__message")[0].innerHTML == "Đã đạt đến giới hạn Rương đếm ngược hàng ngày") {
disableChest = true
}
clickFirstButtonByClassName("swal2-close")
}
// Watch for SweetAlert 2
new ClassWatcher(document.body, 'swal2-shown', closeSwal2, spin);
spin()
} }
})();
var disableChest = false
function clickFirstButtonByClassName(className) {
document.getElementsByClassName(className)[0].dispatchEvent(new MouseEvent("click"));
}
// Click the spin button
function spin() {
if (document.getElementsByClassName("popup-draw__card").length > 0) {
// Do pick random 3 cards instead of spin.
let teams = document.getElementsByClassName("popup-draw__card")
for (let i = 0; i < 3; i++) {
teams[i].dispatchEvent(new MouseEvent("click"));
}
}
else {
// Spin
clickFirstButtonByClassName("wheel__main--note")
if (!disableChest) {
clickFirstButtonByClassName("chest")
}
document.getElementById("widget2").dispatchEvent(new MouseEvent("click"));
}
}
// Close the dialog
function closeSwal2() {
if (document.getElementsByClassName("popup-alert__message")[0].innerHTML == "Đã đạt đến giới hạn Rương đếm ngược hàng ngày") {
disableChest = true
}
clickFirstButtonByClassName("swal2-close")
}
// Watch for SweetAlert 2
new ClassWatcher(document.body, 'swal2-shown', closeSwal2, spin);
// ReactModal__Body--open
spin()
}