Greasy Fork is available in English.

Roblox User ID And Username Copier

Adds a button to copy Roblox user ID or username on profile pages

// ==UserScript==
// @name         Roblox User ID And Username Copier
// @namespace    http://tampermonkey.net/
// @version      1.9
// @description  Adds a button to copy Roblox user ID or username on profile pages
// @match        https://www.roblox.com/users/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Base64 encoded image for light mode
    const lightModeIconBase64 = 'data:image/webp;base64,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'

    // Base64 encoded image for dark mode
    const darkModeIconBase64 = 'data:image/png;base64,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'


    // Function to check if dark mode is active
    function isDarkModeActive() {
        return document.body.classList.contains('dark-theme');
    }

    // Function to get the appropriate icon based on the current theme
    function getIconBase64() {
        return isDarkModeActive() ? darkModeIconBase64 : lightModeIconBase64;
    }

    // Function to extract user ID from URL
    function getUserIdFromUrl() {
        const urlParts = window.location.pathname.split('/');
        return urlParts[2];
    }

    // Function to get username from the page
    function getUsername() {
        const usernameElement = document.querySelector('.profile-display-name');
        if (usernameElement) {
            return usernameElement.textContent.replace('@', '');
        }
        return '';
    }

    // Function to copy text to clipboard
    function copyToClipboard(text) {
        const textarea = document.createElement('textarea');
        textarea.value = text;
        document.body.appendChild(textarea);
        textarea.select();
        document.execCommand('copy');
        document.body.removeChild(textarea);
    }

    // Function to create a copy button with label
    function createCopyButton(iconAlt, labelText, copyFunction) {
        const container = document.createElement('div');
        container.style.display = 'inline-block';
        container.style.marginRight = '20px';
        container.style.textAlign = 'center';
        container.style.width = '80px'; // Fixed width for container

        const button = document.createElement('img');
        button.src = getIconBase64();
        button.alt = iconAlt;
        button.title = iconAlt;
        button.style.cursor = 'pointer';
        button.style.display = 'block';
        button.style.margin = '0 auto 5px';
        button.style.padding = '2px';
        button.style.borderRadius = '4px';
        button.style.transition = 'background-color 0.3s';
        button.width = 16;
        button.height = 16;

        button.onmouseover = function() {
            this.style.backgroundColor = 'rgba(2, 198, 219, 0.5)';
        };
        button.onmouseout = function() {
            this.style.backgroundColor = 'transparent';
        };
        button.onmousedown = function() {
            this.style.backgroundColor = 'transparent';
        };
        button.onmouseup = function() {
            this.style.backgroundColor = 'rgba(2, 198, 219, 0.5)';
        };

        button.onclick = function() {
            copyFunction();
            showCopiedMessage(label, labelText);
        };

        const label = document.createElement('div');
        label.textContent = labelText;
        label.style.fontSize = '12px';
        label.style.transition = 'color 0.3s';
        label.style.whiteSpace = 'nowrap'; // Keep text on one line

        container.appendChild(button);
        container.appendChild(label);

        return container;
    }

    // Function to show "Copied!" message
    function showCopiedMessage(label, originalText) {
        const originalColor = label.style.color;

        label.textContent = "Copied!";
        label.style.color = "green";

        setTimeout(() => {
            label.textContent = originalText;
            label.style.color = originalColor;
        }, 500); // Changed to 2 seconds for quicker feedback
    }

    // Create and insert the buttons
    function createCopyButtons() {
        const buttonContainer = document.createElement('div');
        buttonContainer.style.marginTop = '10px';
        buttonContainer.style.display = 'flex';
        buttonContainer.style.alignItems = 'flex-start';

        const userIdButton = createCopyButton('Copy User ID', 'Copy UserId', function() {
            copyToClipboard(getUserIdFromUrl());
        });

        const usernameButton = createCopyButton('Copy Username', 'Copy Username', function() {
            copyToClipboard(getUsername());
        });

        buttonContainer.appendChild(userIdButton);
        buttonContainer.appendChild(usernameButton);

        const headerNames = document.querySelector('.header-names');
        if (headerNames) {
            headerNames.appendChild(buttonContainer);
        }
    }

    // Function to update styles based on current theme
    function updateStyles() {
        const isDark = isDarkModeActive();
        const labels = document.querySelectorAll('.header-names div[style*="font-size: 12px"]');
        labels.forEach(label => {
            if (label.textContent !== "Copied!") {
                label.style.color = isDark ? 'white' : 'black';
            }
        });
        const buttons = document.querySelectorAll('.header-names img[alt^="Copy"]');
        buttons.forEach(button => {
            button.src = getIconBase64();
        });
    }

    // Run the script
    createCopyButtons();
    updateStyles();

    // Update styles when theme changes
    const observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            if (mutation.type === "attributes" && mutation.attributeName === "class") {
                updateStyles();
            }
        });
    });

    observer.observe(document.body, {
        attributes: true
    });
})();