import { randomBytes } from "crypto"; const rsg = function (count) { let output = '' for (let i = 0; i < count; i++) { const type = Math.floor(Math.random() * 5) switch (type) { case 0: output += '§§' break case 1: output += '§ ' break case 2: case 3: case 4:{ // Make this case more likely let rng = Math.floor(Math.random() * 16) + 1 if (rng === 7) rng = 17 // No bells if (rng === 10) rng = 18 // No line feeds if (rng === 11) rng = 19 // No vertical tabulations if (rng === 12) rng = 20 // No form feed if (rng === 13) rng = 21 // No carriage returns if (rng === 14) rng = 22 // No shift out if (rng === 15) rng = 23 // No shift in output += `§${String.fromCharCode(rng)}` } } } return output } const rsgLegal = function (count) { let output = '' if (Math.random() > 0.5) { output += 'uwu_' } else { output += 'owo_' } output += randomBytes(count).toString('hex') return output } export default function generateUser (legal) { if (legal) { return rsgLegal(6) } else { return rsg(6 + Math.floor(Math.random() * 3)) } }