Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Screenshot https://cdn.mediacru.sh/3QrCt6IN7WLE.png
- // Requires restler (npm install restler)
- // Probably won't work on Windows (Terminal control codes etc)
- / Begin Configuration /;
- // In-game username
- var user = 'Example';
- // Email address
- var email = 'example@gmail.com';
- // List of desired codes
- var codes = ['2718', '2357', '1234', '4321'];
- / Begin Disgusting code /;
- // Load modules
- var rest = require('restler');
- // Parse email
- var muser = email.split('@')[0];
- var mhost = email.split('@')[1];
- // Initialize variables
- var midfix = '';
- var prefix = '';
- var affix = '';
- var pindex = 0;
- var index = 0;
- // Terminal Controls
- function clear() { return '\r\x1b[2K' + [].join.call(arguments, ' '); }
- function underline() { return '\x1b[4m' + [].join.call(arguments, ' ') + '\x1b[0m'; }
- // Wall of text
- console.log('', underline(' GW2 Code Generator 0.0.2a '), '\n');
- console.log(' User: ', user);
- console.log(' Email: ', email);
- console.log(' Codes: ', codes.join(', '));
- console.log('\n ' + underline(' Code '), '', underline(' Email Address '));
- // Start the loop
- loop(prefix, midfix, index, affix);
- / Begin Loop code /;
- function loop(prefix, midfix, index, affix) {
- // Increment midfix
- midfix += '.';
- // Check for midfix overflow
- if ((prefix + midfix + muser + affix).length > 30) {
- // Reset midfix
- midfix = '';
- // Increment midfix position
- index++;
- // Check for midfix exhaustion
- if (index > muser.length - 1) {
- // Increment affix
- affix += '.';
- // Reset midfix position to min position
- index = pindex;
- }
- }
- // Check for affix overflow
- if (affix.length > 40) {
- // Increment prefix
- prefix += '.';
- // Reset affix
- affix = '';
- // Increment midfix min position
- pindex++;
- }
- // Generate email address
- var addr = '';
- addr += prefix;
- addr += muser.slice(0, index) + midfix + muser.slice(index);
- addr += affix;
- addr += '@' + mhost;
- // Call the next itteration of the loop
- process.nextTick(loop.bind(null, prefix, midfix, index, affix));
- // Generate the URL
- var url = 'https://register.guildwars2.com/ws/account/username';
- url += '?user=' + user;
- url += '&email=' + addr;
- // Get the code
- rest.get(url).once('complete', function(data) {
- // Get the code
- var code = data[0];
- // Log the code
- process.stdout.write(clear(' ', code, ' ', addr));
- // Check for errors or matching codes
- if (code == 'error' || codes.indexOf(code) > -1)
- console.log(clear(' ', code, ' ', addr));
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement