├── package.json ├── README.md └── index.js /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "prompt-sync": "^4.2.0", 4 | "puppeteer-real-browser": "^1.3.9" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Discord X Chess.com Promo Generator v2 2 | 3 | A Discord X Chess.com promo generator for the latest chess.com and Discord Nitro promotion. Generate unlimited Nitro promo links for Discord using the latest Nitro promo with Discord and chess.com. 4 | 5 | ## Purchase Private Version (v2, completely request based) 6 | I just created a private version thats completely request based and fast asf. 7 | **if you would like to purchase the promo generator, contact me on telegram @tahagorme or on discord @uutu. 8 | no time wasters please, only dm if you are interested in purchasing** 9 | https://discord.gg/QRdbUxAEa7 10 | https://github.com/user-attachments/assets/9c74c660-70e8-4bae-8338-ec652008185f 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | NOTE: The version on github only generates chess.com accounts and not discord promo links. For discord promo links, you will need to purchase the generator 19 | 20 | 21 | ## Features 22 | 23 | - Unlimited Nitro Promo Links: Generate as many Discord Nitro promo links as you need. 24 | - Latest Promotions: Always up-to-date with the latest promotions from Discord and chess.com. 25 | - User-Friendly: Simple and easy to use, even for beginners. 26 | - Proxy Support: Seamlessly integrates with proxy servers for enhanced privacy. 27 | - Request-Based: Efficient and fast. 28 | - Chess.com Account Generator: Automatically create chess.com accounts using puppeteer and no proxies 29 | - Threading Support 30 | 31 | 32 | ## Installation 33 | 34 | 1. Clone the repository: 35 | ```sh 36 | git clone https://github.com/tahagorme/discord-promo-generator.git 37 | ``` 38 | 2. Navigate to the project directory: 39 | ```sh 40 | cd discord-promo-generator 41 | ``` 42 | 3. Install the dependencies: 43 | ```sh 44 | npm install 45 | ``` 46 | 47 | ## Usage 48 | 49 | 1. Run the generator: 50 | ```sh 51 | node index.js 52 | ``` 53 | 2. Follow the on-screen instructions to generate your promo links. 54 | 55 | ## Contributing 56 | 57 | Contributions are welcome! Please fork the repository and submit a pull request. 58 | 59 | ## License 60 | 61 | This project is licensed under the MIT License. See the LICENSE file for details. 62 | 63 | ## Contact 64 | 65 | For any questions or suggestions, please open an issue or contact the repository owner. 66 | @uutu on discord and @tahagorme on telegram 67 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // this only generates chess.com accounts and not nitro codes. 2 | // for nitro code generator, contact me on discord @uutu or on telegram @tahagorme 3 | 4 | const { connect } = require("puppeteer-real-browser") 5 | const fs = require('fs'); 6 | const prompt = require("prompt-sync")({ sigint: true }); 7 | 8 | async function test() { 9 | 10 | const { browser, page } = await connect({ 11 | 12 | headless: false, 13 | 14 | args: [], 15 | 16 | customConfig: {}, 17 | 18 | turnstile: true, 19 | 20 | connectOption: {}, 21 | 22 | disableXvfb: false, 23 | ignoreAllFlags: false 24 | // proxy:{ 25 | // host:'', 26 | // port:'', 27 | // username:'', 28 | // password:'' 29 | // } 30 | 31 | }) 32 | 33 | let randomEmail = randomString(15) + '@outlook.com'; 34 | let randomUsername = randomString(15); 35 | let randomPassword = randomString(15) + randomIntFromInterval(100000, 9999999); 36 | console.log(randomEmail) 37 | await page.goto('https://www.chess.com/register') 38 | await page.waitForSelector("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > div > button") 39 | await page.click("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > div > button") 40 | await page.waitForSelector("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > form > div:nth-child(1) > button") 41 | await page.click("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > form > div:nth-child(1) > button") 42 | 43 | await page.waitForSelector("#registration_email") 44 | await page.type("#registration_email", randomEmail) 45 | 46 | await page.waitForSelector("#registration_password") 47 | await page.type("#registration_password", randomPassword) 48 | await page.waitForSelector("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > form > div:nth-child(6) > button") 49 | await page.click("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > form > div:nth-child(6) > button") 50 | await page.waitForSelector("#registration_username") 51 | await new Promise(r => setTimeout(r, 500)) 52 | 53 | await page.type("#registration_username", randomUsername) 54 | await page.waitForSelector("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > form > div:nth-child(7) > div > div.username-wrap > button") 55 | await new Promise(r => setTimeout(r, 500)) 56 | 57 | await page.click("body > div:nth-child(1) > div > div.security-onboarding-container > main > div > form > div:nth-child(7) > div > div.username-wrap > button") 58 | await page.waitForNavigation(); 59 | console.log(`Account Created --> ${randomEmail} : ${randomPassword}`) 60 | 61 | //save cookies to file 62 | await new Promise(r => setTimeout(r, 1000)) 63 | test(); 64 | 65 | 66 | 67 | 68 | } 69 | let noOfThreads = prompt('Enter number of threads: '); 70 | for (let i = 0; i < noOfThreads; i++) { 71 | test(); 72 | } 73 | 74 | 75 | function randomIntFromInterval(min, max) { // min and max included 76 | return Math.floor(Math.random() * (max - min + 1) + min) 77 | } 78 | 79 | function randomString(length) { 80 | var result = '' 81 | var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' 82 | var charactersLength = characters.length 83 | for (var i = 0; i < length; i++) { 84 | result += characters.charAt(Math.floor(Math.random() * charactersLength)) 85 | } 86 | return result 87 | } 88 | --------------------------------------------------------------------------------