> [!CAUTION] > Skrypt automatycznie klika elementy interfejsu Discorda. Discord może wykryć masowe, powtarzalne akcje i tymczasowo ograniczyć konto lub zablokować możliwość wymiany. > Używasz go na własną odpowiedzialność. > > The script automatically clicks Discord UI elements. Discord may detect mass repetitive actions and temporarily restrict your account or block exchanges. > Use at your own risk. ## Automatyczna wymiana Orbów na Nitro / Automatic Orbs → Nitro Exchange Skrypt automatycznie wykonuje wymiany Orbów na Nitro (koszt 1400 Orbów za jedną wymianę). The script automatically performs Orbs → Nitro exchanges (1400 Orbs per exchange). ### Jak używać / How to use 1. Wejdź na stronę sklepu Discorda / Orbs (tam gdzie widać przycisk wymiany). Go to the Discord Shop / Orbs page (where the exchange button is visible). 2. Naciśnij Ctrl + Shift + I, aby otworzyć DevTools. Press Ctrl + Shift + I to open DevTools. 3. Przejdź do zakładki **Console**. Go to the **Console** tab. 4. Wklej odpowiedni kod (polski lub angielski) i naciśnij Enter. Paste the appropriate code (Polish or English) and press Enter. --- ### 🇵🇱 Wersja polska
Kliknij, aby rozwinąć skrypt (PL) ```js let orbAmount = 99980; // ← zmień na aktualną liczbę Twoich Orbów let costPerNitro = 1400; let repeatCount = Math.floor(orbAmount / costPerNitro); console.log("Ilość wymian:", repeatCount); console.log("Zużyte Orby:", repeatCount * costPerNitro); console.log("Zostanie Orbs:", orbAmount - (repeatCount * costPerNitro)); function checkPurchaseCheckbox() { const checkbox = document.querySelector('.checkboxIndicator__714a9'); if (!checkbox) { console.log("Checkbox nie znaleziony"); return false; } const parent = checkbox.closest('[role="checkbox"]') || checkbox.parentElement; if (parent) { parent.click(); console.log("Checkbox zaznaczony"); return true; } return false; } function clickReceiveButton() { const button = [...document.querySelectorAll("button")] .find(btn => btn.innerText.includes("Odbierz za Orbs")); if (!button) { console.log("Przycisk Odbierz nie znaleziony"); return false; } button.click(); console.log("Odbierz kliknięty"); return true; } function clickExchangeButton() { const button = document.querySelector( 'button[aria-label="Wymień na 1400 Orbs"]' ); if (!button) { console.log("Przycisk wymiany nie znaleziony"); return false; } button.click(); console.log("Wymiana otwarta"); return true; } async function doOneExchange() { clickExchangeButton(); await new Promise(resolve => setTimeout(resolve, 1500)); checkPurchaseCheckbox(); await new Promise(resolve => setTimeout(resolve, 500)); clickReceiveButton(); await new Promise(resolve => setTimeout(resolve, 2500)); } async function start() { for (let i = 1; i <= repeatCount; i++) { console.log(`Wymiana ${i}/${repeatCount}`); await doOneExchange(); await new Promise(resolve => setTimeout(resolve, 1000)); } console.log("KONIEC!"); } start(); ```
--- ### 🇬🇧 English version
Click to expand the script (EN) ```js let orbAmount = 99980; // ← change to your current Orbs amount let costPerNitro = 1400; let repeatCount = Math.floor(orbAmount / costPerNitro); console.log("Number of exchanges:", repeatCount); console.log("Used Orbs:", repeatCount * costPerNitro); console.log("Remaining Orbs:", orbAmount - (repeatCount * costPerNitro)); function checkPurchaseCheckbox() { const checkbox = document.querySelector('.checkboxIndicator__714a9'); if (!checkbox) { console.log("Checkbox not found"); return false; } const parent = checkbox.closest('[role="checkbox"]') || checkbox.parentElement; if (parent) { parent.click(); console.log("Checkbox selected"); return true; } return false; } function clickReceiveButton() { const button = [...document.querySelectorAll("button")] .find(btn => btn.innerText.includes("Claim for Orbs") ); if (!button) { console.log("Claim button not found"); return false; } button.click(); console.log("Claim button clicked"); return true; } function clickExchangeButton() { const button = [...document.querySelectorAll("button")] .find(btn => btn.getAttribute("aria-label")?.includes("1400 Orbs") ); if (!button) { console.log("Exchange button not found"); return false; } button.click(); console.log("Exchange opened"); return true; } async function doOneExchange() { clickExchangeButton(); await new Promise(resolve => setTimeout(resolve, 1500)); checkPurchaseCheckbox(); await new Promise(resolve => setTimeout(resolve, 500)); clickReceiveButton(); await new Promise(resolve => setTimeout(resolve, 2500)); } async function start() { for (let i = 1; i <= repeatCount; i++) { console.log(`Exchange ${i}/${repeatCount}`); await doOneExchange(); await new Promise(resolve => setTimeout(resolve, 1000)); } console.log("DONE!"); } start(); ```
--- > Jeśli nie możesz wkleić kodu, wpisz najpierw `allow pasting` i naciśnij Enter. > If you cannot paste the code, type `allow pasting` first and press Enter. 5. Skrypt sam policzy, ile razy może wykonać wymianę i rozpocznie proces. The script will calculate how many exchanges it can perform and start automatically. 6. W konsoli będziesz widział postęp. You will see the progress in the Console. ### Ważne uwagi / Important notes - **Zmień wartość `orbAmount`** na aktualną liczbę swoich Orbów przed uruchomieniem. **Change the `orbAmount` value** to your current Orbs balance before running. - Skrypt działa tylko wtedy, gdy jesteś na stronie, na której widać przycisk wymiany. The script only works when you are on the page where the exchange button is visible. - Opóźnienia (1500 ms, 500 ms, 2500 ms, 1000 ms) są celowo ustawione, żeby Discord nie blokował zbyt szybkich kliknięć. Możesz je zwiększyć, jeśli pojawią się błędy. The delays are intentional to reduce the chance of Discord rate-limiting. Increase them if you encounter errors. - Jeśli Discord zmieni selektory (klasy CSS lub teksty przycisków), skrypt przestanie działać. If Discord changes the selectors (CSS classes or button texts), the script will stop working. ### FAQ **Q: Skrypt nic nie robi / wypisuje tylko „undefined”** **A:** Odśwież stronę Discorda, zamknij i otwórz ponownie DevTools, albo zrestartuj klienta. Refresh Discord, reopen DevTools, or restart the client. **Q: Nie znajduje checkboxa / przycisku** **A:** Upewnij się, że interfejs Discorda jest w odpowiednim języku (PL lub EN) i że jesteś na właściwej stronie sklepu. Make sure Discord is set to the matching language (PL or EN) and you are on the correct shop page. **Q: Czy mogę dostać bana? / Can I get banned?** **A:** Tak, istnieje ryzyko. Discord może wykryć automatyzację interfejsu. Używasz na własne ryzyko. Yes, there is a risk. Discord can detect UI automation. Use at your own risk. **Q: Ctrl + Shift + I nie działa** **A:** Użyj klienta PTB albo włącz DevTools ręcznie. Use the PTB client or enable DevTools manually. **Q: Dostaję błąd składni** **A:** Wyłącz tłumaczenie strony w przeglądarce / rozszerzeniach przed kopiowaniem kodu. Disable any page translators before copying the code. --- **Licencja / License:** GPL-3.0