NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Auto Token Pool Address // @namespace http://tampermonkey.net/ // @version 2.4 // @description кирюха пидр // @author You // @match *://*/* // @grant GM_setClipboard // @run-at document-idle // @license MIT // ==/UserScript== (function () { 'use strict'; // Создаем канал для взаимодействия между вкладками const channel = new BroadcastChannel('clipboard_notification_channel'); let lastProcessedURL = ''; const notificationQueue = []; // Очередь уведомлений // Функция для обработки URL function processURL() { const url = window.location.href; // Проверяем, обрабатывался ли уже этот URL if (url === lastProcessedURL) return; lastProcessedURL = url; const regex = /\/lp\/([A-Za-z0-9_-]+)/; const match = url.match(regex); if (match && match[1]) { const extractedPart = match[1]; const pageTitle = document.title || 'No Title'; // Заголовок страницы // Копируем часть URL в буфер обмена GM_setClipboard(extractedPart); // Генерируем случайный цвет const randomColor = getRandomColor(); // Отправляем уведомление с текстом и цветом другим вкладкам channel.postMessage({ message: `Copied to clipboard: ${extractedPart}\nPage Title: ${pageTitle}`, color: randomColor }); // Также отображаем уведомление локально showNotification(`Copied to clipboard: ${extractedPart}\nPage Title: ${pageTitle}`, randomColor); // Подсвечиваем текущую вкладку highlightTab(randomColor); } } // Слушаем уведомления от других вкладок channel.onmessage = (event) => { if (event.data && event.data.message && event.data.color) { showNotification(event.data.message, event.data.color); } }; // Функция для генерации случайного RGB-цвета function getRandomColor() { const r = Math.floor(Math.random() * 256); const g = Math.floor(Math.random() * 256); const b = Math.floor(Math.random() * 256); return `rgb(${r}, ${g}, ${b})`; } // Функция для отображения уведомления function showNotification(message, color) { const notification = document.createElement('div'); notification.textContent = message; notification.style.position = 'fixed'; notification.style.left = '50%'; notification.style.transform = 'translateX(-50%)'; notification.style.padding = '10px 20px'; notification.style.backgroundColor = color; notification.style.color = '#fff'; notification.style.textShadow = '0 0 3px #000, 1px 1px 2px #000'; // Обводка текста notification.style.borderRadius = '5px'; notification.style.boxShadow = '0 2px 4px rgba(0, 0, 0, 0.2)'; notification.style.zIndex = '9999'; notification.style.fontSize = '14px'; notification.style.fontFamily = 'Arial, sans-serif'; notification.style.textAlign = 'center'; notification.style.whiteSpace = 'pre-line'; // Поддержка переноса строк // Добавляем уведомление в очередь notificationQueue.push(notification); // Обновляем положение всех уведомлений updateNotificationPositions(); // Добавляем уведомление на страницу document.body.appendChild(notification); // Удаляем уведомление через 3 секунды setTimeout(() => { notification.remove(); notificationQueue.shift(); updateNotificationPositions(); }, 10000); } // Обновляет положения всех уведомлений в очереди function updateNotificationPositions() { notificationQueue.forEach((notification, index) => { notification.style.top = `${20 + index * 50}px`; // 20px сверху + 50px на каждое уведомление }); } // Ждем полной загрузки страницы window.addEventListener('load', () => { processURL(); }); // Отслеживаем изменения URL (если страница изменяется динамически) let currentURL = window.location.href; setInterval(() => { if (currentURL !== window.location.href) { currentURL = window.location.href; processURL(); } }, 500); })();