Gartic.io chat panel

wsObj kullanarak chate mesaj gönderen panel (Bu betikte bazı kod bölümleri başka projelerden uyarlanmıştır. Yapay zeka ürünüdür, kodu alıp dahada geliştirilmiş halini atmak isteyenler içindir.)

// ==UserScript==
// @name         Gartic.io chat panel
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  wsObj kullanarak chate mesaj gönderen panel (Bu betikte bazı kod bölümleri başka projelerden uyarlanmıştır. Yapay zeka ürünüdür, kodu alıp dahada geliştirilmiş halini atmak isteyenler içindir.)
// @author       《₁₈₇》
// @match        *://gartic.io/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    let originalWebSocket = window.WebSocket;
    let setTrue = 0;

    window.wsObj = {
        id: null,
        roomCode: null,
        lengthID: null,
        send: function(msg) {
            if (this.ws) this.ws.send(msg);
        }
    };

    window.WebSocket = function(...args) {
        let ws = new originalWebSocket(...args);
        ws.addEventListener('open', () => {
            window.wsObj.ws = ws;
            window.eventAdd();
        });
        return ws;
    };
    window.WebSocket.prototype = originalWebSocket.prototype;

    window.eventAdd = () => {
        if (!setTrue) {
            setTrue = 1;
            window.wsObj.ws.addEventListener("message", (msg) => {
                try {
                    let data = JSON.parse(msg.data.slice(2));
                    if (data[0] == 5) {
                        window.wsObj.lengthID = data[1];
                        window.wsObj.id = data[2];
                        window.wsObj.roomCode = data[3];
                    }
                } catch (err) {}
            });
        }
    };

    let panel = document.createElement("div");
    panel.style.position = "fixed";
    panel.style.top = "10px";
    panel.style.left = "10px";
    panel.style.background = "rgba(0,0,255,0.8)";
    panel.style.color = "white";
    panel.style.padding = "10px";
    panel.style.borderRadius = "10px";
    panel.style.zIndex = 99999;

    let input = document.createElement("input");
    input.type = "text";
    input.placeholder = "Mesaj yaz...";
    input.style.padding = "5px";
    input.style.borderRadius = "5px";
    input.style.border = "none";
    input.style.outline = "none";
    input.style.width = "150px";
    input.style.marginRight = "5px";

    let sendBtn = document.createElement("button");
    sendBtn.textContent = "Gönder";
    sendBtn.style.background = "red";
    sendBtn.style.color = "white";
    sendBtn.style.border = "none";
    sendBtn.style.padding = "5px 10px";
    sendBtn.style.borderRadius = "5px";
    sendBtn.style.cursor = "pointer";

    function sendMessage() {
        if (!window.wsObj.ws || !window.wsObj.id || input.value.trim() === "") return;
        try {
            let msg = `42[11,${window.wsObj.id},"${input.value}"]`;
            window.wsObj.send(msg);
            input.value = "";
        } catch (err) {}
    }

    sendBtn.onclick = sendMessage;
    input.addEventListener("keydown", function(e) {
        if (e.key === "Enter") sendMessage();
    });

    panel.appendChild(input);
    panel.appendChild(sendBtn);
    document.body.appendChild(panel);
})();