DrawariaGPT AI Chat

New DrawariaGPT ChatBot AI - Assistant

当前为 2025-02-06 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         DrawariaGPT AI Chat
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  New DrawariaGPT ChatBot AI - Assistant
// @author       YouTubeDrawaria
// @match        https://ftac.vercel.app/*
// @match        https://drawaria.online/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=drawaria.online
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Función para inyectar estilos globales
    function addGlobalStyle(css) {
        const head = document.getElementsByTagName('head')[0];
        if (!head) { return; }
        const style = document.createElement('style');
        style.type = 'text/css';
        style.innerHTML = css;
        head.appendChild(style);
    }

    // --- Código para ftac.vercel.app ---
    if (window.location.host.includes("ftac.vercel.app")) {
        window.addEventListener('load', () => {
            const header = document.querySelector("body > div.tac-data > h1");
            if (header) {
                header.textContent = "DrawariaGPT AI Chat 🤖🌞";
            }
        });
    }

    // --- Código para drawaria.online ---
    if (window.location.host.includes("drawaria.online")) {
        // Creamos el contenedor modal para mostrar la página de ftac.vercel.app
        const container = document.createElement("div");
        container.id = "drawariagpt-container";
        container.style.position = "fixed";
        container.style.top = "50%";
        container.style.left = "50%";
        container.style.transform = "translate(-50%, -50%)";
        container.style.width = "80%";
        container.style.height = "80%";
        container.style.background = "#fff";
        container.style.boxShadow = "0 0 10px rgba(0,0,0,0.5)";
        container.style.zIndex = "10000";
        container.style.display = "none"; // inicialmente oculto
        container.style.flexDirection = "column";
        container.style.overflow = "hidden";

        // Creamos la barra superior con el botón de cerrar
        const headerBar = document.createElement("div");
        headerBar.style.background = "#333";
        headerBar.style.color = "#fff";
        headerBar.style.padding = "10px";
        headerBar.style.display = "flex";
        headerBar.style.justifyContent = "space-between";
        headerBar.style.alignItems = "center";

        const title = document.createElement("span");
        title.textContent = "DrawariaGPT Chat";
        headerBar.appendChild(title);

        const closeButton = document.createElement("button");
        closeButton.textContent = "Close";
        closeButton.style.background = "#f00";
        closeButton.style.color = "#fff";
        closeButton.style.border = "none";
        closeButton.style.padding = "5px 10px";
        closeButton.style.cursor = "pointer";
        closeButton.addEventListener("click", () => {
            container.style.display = "none";
        });
        headerBar.appendChild(closeButton);

        container.appendChild(headerBar);

        // Utilizamos un elemento <object> en lugar de un <iframe>
        const objectEl = document.createElement("object");
        objectEl.data = "https://ftac.vercel.app/";
        objectEl.type = "text/html";
        objectEl.style.width = "100%";
        objectEl.style.height = "100%";
        objectEl.style.border = "none";

        container.appendChild(objectEl);
        document.body.appendChild(container);

        // Creamos el ícono flotante (draggable)
        const icon = document.createElement("img");
        icon.src = "https://www.google.com/s2/favicons?sz=64&domain=drawaria.online";
        icon.id = "drawariagpt-icon";
        icon.style.position = "fixed";
        icon.style.bottom = "20px";
        icon.style.right = "20px";
        icon.style.width = "50px";
        icon.style.height = "50px";
        icon.style.cursor = "pointer";
        icon.style.zIndex = "10001";
        document.body.appendChild(icon);

        // Al hacer click en el ícono se abre el contenedor
        icon.addEventListener("click", () => {
            container.style.display = "flex";
        });

        // Hacemos que el ícono sea arrastrable
        let isDragging = false;
        let offsetX, offsetY;

        icon.addEventListener("mousedown", (e) => {
            isDragging = true;
            offsetX = e.clientX - icon.getBoundingClientRect().left;
            offsetY = e.clientY - icon.getBoundingClientRect().top;
            e.preventDefault();
        });

        document.addEventListener("mousemove", (e) => {
            if (isDragging) {
                // Removemos estilos fijos de right y bottom
                icon.style.right = "auto";
                icon.style.bottom = "auto";
                icon.style.left = (e.clientX - offsetX) + "px";
                icon.style.top = (e.clientY - offsetY) + "px";
            }
        });

        document.addEventListener("mouseup", () => {
            isDragging = false;
        });
    }
})();