Greasy Fork

Greasy Fork is available in English.

Random Avatar Changer by YoutubeDrawaria!

Change your avatar to a random player's avatar and download your current avatar.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Random Avatar Changer by YoutubeDrawaria!
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Change your avatar to a random player's avatar and download your current avatar.
// @author       YouTubeDrawaria
// @match        https://drawaria.online/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=drawaria.online
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Array de URLs de avatares disponibles
    const avatarUrls = [
    '86e33830-86ea-11ec-8553-bff27824cf71',
    'bfbe3620-1d5e-11ef-acaf-250da20bac69',
    '418e4160-cb1f-11ed-a71d-ab56d3db7ea6',
    '98bb4180-226a-11ed-9fd3-c3a00b129da4',
    'c8408150-dc14-11ec-9fd3-c3a00b129da4',
    'a272cd50-0d42-11ef-acaf-250da20bac69',
    '52bee980-1dee-11ef-acaf-250da20bac69',
    'e39f20a0-d3fc-11ee-bf00-7b802f1ca94b',
    '2b3925e0-0425-11ed-9fd3-c3a00b129da4',
    '331c1bb0-1e03-11ef-acaf-250da20bac69',
    'e728cb60-178e-11ef-acaf-250da20bac69',
    'c424c6c0-1138-11ef-acaf-250da20bac69',
    '6201c780-b7ed-11ee-a08e-793e831e2edc',
    '1a0dd6b0-477e-11ee-bc38-c361be163109',
    'dc8d83b0-1d13-11ee-9637-2101b993f0be',
    '96381160-9900-11ed-9fd3-c3a00b129da4',
    '1f400b90-8e8c-11ed-9fd3-c3a00b129da4',
    '741b5f10-6c14-11ed-9fd3-c3a00b129da4',
    '1c7c0480-5b37-11ea-bd0d-d982f110d7fd',
    '118e3ca0-5b5a-11ea-bd0d-d982f110d7fd',
    '1c7fea80-5c47-11ea-853a-9b17f47ac2d7',
    '1fba6650-665e-11ea-b39d-7bb8fda5d79f',
    '072e4930-699c-11ea-b44c-0b4dcf9d5ef1',
    'a5ecdb40-6af0-11ea-a73b-077bb29c1ee3',
    '7534cd80-71dc-11ea-94e4-a79c0e0066e1',
    '8e217470-7370-11ea-89ac-45c00dafd2e3',
    '09c4a3c0-77fb-11ea-9617-65edff98c927',
    '862b7dd0-808e-11ea-b257-69727f5f663c',
    '7c2d50a0-8594-11ea-bc11-f75950a68c24',
    'ad0554d0-8cd2-11ea-894b-cfb531386883',
    '2aea4e10-8efd-11ea-8268-f942a4e80c69',
    'e862ab90-91ff-11ea-8190-f74b0e427be6',
    '0b6627c0-9273-11ea-8733-693d00669271',
    '94721bb0-9777-11ea-aaa9-43cdc11ba2e8',
    '6fbfb880-9a9d-11ea-b554-87ab2604eb71',
    'c2cbc1f0-9c0e-11ea-b38f-318e6ebaac37',
    '1d1be460-9dda-11ea-a4e9-119510eef9db',
    '16bd8850-9e00-11ea-a4e9-119510eef9db',
    'f2989240-9f1b-11ea-a4e9-119510eef9db',
    '0b8b71d0-a04f-11ea-a4e9-119510eef9db',
    '45c4b230-a05e-11ea-a4e9-119510eef9db',
    '1c3d5c10-a0cb-11ea-a4e9-119510eef9db',
    'bd42cea0-a2d4-11ea-a4e9-119510eef9db',
    '724bf0e0-a31d-11ea-a4e9-119510eef9db',
    '69f9fad0-a346-11ea-a4e9-119510eef9db',
    'e93c2520-a657-11ea-a4e9-119510eef9db',
    '43526c60-a732-11ea-a4e9-119510eef9db',
    'f30dfd70-a8ec-11ea-86e2-6bb275999a37',
    '9472ec10-a9ac-11ea-86e2-6bb275999a37',
    'dcfa8c60-aa04-11ea-86e2-6bb275999a37',
    'd5f68df0-aa8c-11ea-86e2-6bb275999a37',
    '73be86c0-acac-11ea-86e2-6bb275999a37',
    'cee4ca90-acda-11ea-86e2-6bb275999a37',
    '0c46a310-ad56-11ea-86e2-6bb275999a37',
    '4ddc00c0-ae4d-11ea-bd8e-b5ddc2004258',
    '0927eb00-b245-11ea-bd8e-b5ddc2004258',
    '5e40b790-b62b-11ea-bd8e-b5ddc2004258',
    '4c9deac0-b87a-11ea-bd8e-b5ddc2004258',
    'eac1a240-b8a3-11ea-bd8e-b5ddc2004258',
    '467523c0-b947-11ea-bd8e-b5ddc2004258',
    '000634b0-ba78-11ea-bd8e-b5ddc2004258',
    '3e715060-bf94-11ea-bb8a-772444bea009',
    'e6a53d90-c035-11ea-bfe5-bd40acded5fc',
    'd0a47620-c0c9-11ea-a8bb-492bb09704a0',
    'b69ee820-c185-11ea-a442-f350118f438b',
    'df1fd310-c1ce-11ea-bc62-1fbf67bacde8',
    '4fbc7670-c63c-11ea-bdb2-fbeb1df24aa3',
    '7161eeb0-c86f-11ea-9dde-5d331b009956',
    '1f749f80-c91e-11ea-9dde-5d331b009956',
    '04628a90-cb3a-11ea-987f-fdc7163f6a11',
   'ca2657f0-cc72-11ea-be11-3b3954e3c6ff',
    'fdbcf5c0-ccf3-11ea-b8e1-6dea414a40d2',
    'bbd13510-cef9-11ea-a633-3dcc4e42db82',
    '34f08840-d019-11ea-a0fd-57615322c869',
    'd2e14e10-d2a1-11ea-a0fd-57615322c869',
    '22969bd0-d2e9-11ea-a0fd-57615322c869',
    'ba0d2920-d4e7-11ea-8908-092bf758cccf',
    'e4793880-d4ff-11ea-8908-092bf758cccf',
    'c9872860-db31-11ea-8c97-eb594e3396da',
    '23a40470-dcbe-11ea-887d-257476d63106',
    '315aa450-dd1f-11ea-b226-e795d004b597',
    'a50439e0-ddb8-11ea-a196-076ac93bef26',
    'e9a5a1d0-df2d-11ea-9392-eb461a14f3f4',
    '9ae632e0-df40-11ea-9392-eb461a14f3f4',
    '5aa9d230-e23e-11ea-aedc-7f1df046559d',
    'eb7b9910-e248-11ea-aedc-7f1df046559d',
    '4d50fb50-e2f1-11ea-b6b0-c70b04a9536a',
    '55bb6510-e3bd-11ea-8ebf-0f4eb4dcf389',
    '94369f40-ed6c-11ea-b0be-7db8e99a5df9',
    '32547810-efbf-11ea-ad90-85307ba45eb9',
    '7bea2aa0-f4c5-11ea-b3c8-69db88ee0c3b',
    '4bce5c00-f7c3-11ea-b33e-b18306721a5c',
    '546f53d0-f847-11ea-b33e-b18306721a5c',
    '6c945900-fa5f-11ea-a8a2-c977be6e2e24',
    '1a3f7310-fc3a-11ea-b046-41771ea9ec9d',
    'eab55a60-fc48-11ea-b046-41771ea9ec9d',
    'a1033ff0-fd05-11ea-85e2-cb5c49f82bdb',
    '51c85f70-fd18-11ea-85e2-cb5c49f82bdb',
    'd6af66f0-fdec-11ea-85e2-cb5c49f82bdb',
    'e0cf0af0-fe2d-11ea-85e2-cb5c49f82bdb',
    'af2313e0-ff11-11ea-85e2-cb5c49f82bdb',
    'c935f940-00cf-11eb-89b3-6313abcbf4ed',
    '7ecd0d30-0124-11eb-89b3-6313abcbf4ed',
    '224c8100-012c-11eb-89b3-6313abcbf4ed',
    '80a3ac10-019f-11eb-89b3-6313abcbf4ed',
    '51cb3570-0285-11eb-b470-e7b83d2f3b00',
    '741a16e0-0425-11eb-83be-fb1c764c820f',
    '8a1e9630-05b2-11eb-978a-81f37c20bb7a',
    '08e128e0-08c7-11eb-9c3f-2df35a2de16e',
    '20535dc0-08fb-11eb-9c3f-2df35a22c869',
    '187d69c0-0909-11eb-9c3f-2df35a22c869',
    '6e7e20c0-0a3b-11eb-be95-83af8123b41a',
    '3ff95460-0a9d-11eb-be95-83af8123b41a',
    '19042150-0bfb-11eb-82be-2f53796ccb77',
    'e8620b10-0cdc-11eb-a0ff-8d7c7b306a6a',
    'e13a5540-0ce6-11eb-a0ff-8d7c7b306a6a',
    'f306d280-0cfa-11eb-a0ff-8d7c7b306a6a',
    '7bd4a210-0f38-11eb-9133-6be283abf413',
    'a5914b90-10e5-11eb-9133-6be283abf413',
    'fdba73c0-120a-11eb-9133-6be283abf413',
    'a3d242e0-1258-11eb-9a25-330f162b87df',
    '8c8e3b50-1584-11eb-9a25-330f162b87df',
    'f4f5cdc0-15ac-11eb-9a25-330f162b87df',
    '74e68620-16d2-11eb-9a25-330f162b87df',
    '3aec1650-172d-11eb-a4be-43469d0e01d8',
    '1d119fb0-1732-11eb-a4be-43469d0e01d8',
    'e23d6e70-184c-11eb-a4be-43469d0e01d8',
    '0d72b9a0-1b78-11eb-8f81-51d911715ee9',
    '3133eb80-1de3-11eb-8f81-51d911715ee9',
    '8d1f86b0-1e07-11eb-8f81-51d911715ee9',
    '5542b8c0-1efc-11eb-8f81-51d911715ee9',
    '13eefaf0-22c6-11eb-9252-871853a7d8b1',
    '4dca98b0-22da-11eb-9252-871853a7d8b1',
    '5b6039e0-2379-11eb-9252-871853a7d8b1',
    '18a9b230-249a-11eb-96e9-e767e96c1453',
    '7f2b0630-24c7-11eb-a9b4-e7c2638120dd',
    '53325830-2503-11eb-a9b4-e7c2638120dd',
    '96ef6290-25d3-11eb-a9b4-e7c2638120dd',
    'e8bca7c0-2602-11eb-a9b4-e7c2638120dd',
    '91901ed0-262c-11eb-a9b4-e7c2638120dd',
    '1442aec0-2730-11eb-a9b4-e7c2638120dd',
    '802da3d0-28d2-11eb-a9b4-e7c2638120dd',
    '1dc45bc0-2937-11eb-a9b4-e7c2638120dd',
    '90e97350-29b5-11eb-a9b4-e7c2638120dd',
    '078ad110-29cb-11eb-a9b4-e7c2638120dd'
    ].map(id => `/avatar/cache/${id}.jpg`);

    // Función para cambiar el avatar al azar
    function changeAvatarRandomly() {
        const avatarImage = document.querySelector('#selfavatarimage');
        if (avatarImage) {
            const randomIndex = Math.floor(Math.random() * avatarUrls.length);
            const randomAvatarUrl = avatarUrls[randomIndex];
            avatarImage.src = randomAvatarUrl;
        } else {
            console.error('Not avatar picture found.');
        }
    }

    // Función para descargar el avatar actual
    function downloadCurrentAvatar() {
        const avatarImage = document.querySelector('#selfavatarimage');
        if (avatarImage) {
            const downloadLink = document.createElement('a');
            downloadLink.href = avatarImage.src;
            downloadLink.download = 'avatar.jpg'; // Nombre predeterminado para la descarga
            downloadLink.click();
        } else {
            console.error('Not avatar picture found.');
        }
    }

    // Función para abrir la imagen de tu avatar actual en una nueva pestaña
    function openCurrentAvatarInNewTab() {
        const avatarImage = document.querySelector('#selfavatarimage');
        if (avatarImage) {
            window.open(avatarImage.src, '_blank');
        } else {
            console.error('Not avatar picture found.');
        }
    }

    // Asigna los textos traducidos a cada idioma
    const translations = {
        en: {
            'Avatar Randomizer': 'Avatar Randomizer',
            'Download Avatar': 'Download Avatar',
            'Open in New Tab': 'Open in New Tab'
        },
        ru: {
            'Avatar Randomizer': 'Случайный аватар',
            'Download Avatar': 'Скачать аватар',
            'Open in New Tab': 'Открыть в новой вкладке'
        },
        es: {
            'Avatar Randomizer': 'Cambiar Avatar Aleatoriamente',
            'Download Avatar': 'Descargar Avatar',
            'Open in New Tab': 'Abrir en Nueva Pestaña'
        }
    };

    // Función para traducir los textos de los botones
    function translateButtonTexts() {
        const langSelector = document.querySelector('#langselector');
        if (langSelector) {
            const selectedLanguage = langSelector.value;
            const translationSet = translations[selectedLanguage];
            if (translationSet) {
                buttons.forEach((button) => {
                    const buttonElement = document.getElementById(button.id);
                    if (buttonElement) {
                        buttonElement.textContent = translationSet[button.text];
                    }
                });
            }
        }
    }

    // Crear los botones y agregarlos al DOM con la apariencia deseada
    const buttons = [
        { id: 'avatarRandomizerButton', text: 'Avatar Randomizer', clickHandler: changeAvatarRandomly },
        { id: 'downloadIconButton', text: 'Download Avatar', clickHandler: downloadCurrentAvatar },
        { id: 'openAvatarButton', text: 'Open in New Tab', clickHandler: openCurrentAvatarInNewTab }
    ];

    buttons.forEach((button) => {
        const newButton = document.createElement('button');
        newButton.id = button.id;
        newButton.type = 'button';
        newButton.role = 'button';
        newButton.classList.add('btn', 'btn-secondary', 'btn-block');
        newButton.textContent = button.text;
        newButton.addEventListener('click', button.clickHandler);

        const languageMenu = document.querySelector('#langselector');
        if (languageMenu) {
            languageMenu.parentNode.insertBefore(newButton, languageMenu.nextSibling);
        } else {
            console.error('Not avatar translatations found.');
        }
    });

    // Agrega un event listener para detectar cambios en el selector de idioma
    document.querySelector('#langselector').addEventListener('change', translateButtonTexts);

    // Ejecuta la función inicialmente para traducir los textos al cargar la página
    translateButtonTexts();
})();