Collab-VM Turnstile JS Extension

makes it so xtoys can see if you actually take a turn on collabvm via hacky webhook stuff. Special thanks to Elijahr. MODIFY THE USERSCRIPT TO CONTAIN YOUR PRIVATE WEBHOOK ID BEFORE USING

Verze ze dne 03. 10. 2024. Zobrazit nejnovější verzi.

// ==UserScript==
// @name         Collab-VM Turnstile JS Extension
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  makes it so xtoys can see if you actually take a turn on collabvm via hacky webhook stuff. Special thanks to Elijahr. MODIFY THE USERSCRIPT TO CONTAIN YOUR PRIVATE WEBHOOK ID BEFORE USING
// @author       Wulf715, ElijahR.dev
// @match        https://computernewb.com/collab-vm/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=computernewb.com
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';
    let mo = new MutationObserver((mutationList, observer) => {
        for (const mutation of mutationList) if (mutation.type === "attributes" && mutation.attributeName === "style") {
            console.log("VM was opened or closed (probably lol)");
            let vm = window.collabvm.getVM();
            if (vm === null) return;
            window.hasTurn = false;
            vm.on('turn', () => {
                window.hasTurn = (vm.users.find(u => u.username === vm.username).turn === 0);
                if (window.hasTurn === true) {
                    fetch('https://webhook.xtoys.app/YourWebhookHere?action=start');
                }
                if (window.hasTurn === false) {
                    fetch('https://webhook.xtoys.app/YourWebhookHere?action=stop');
                }
            });
        }
    });
    mo.observe(document.getElementById("vmview"), {attributes: true});

})();