diff --git a/package-lock.json b/package-lock.json index c91ab46..94ff0d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1276,6 +1276,11 @@ "supports-color": "^2.0.0" } }, + "chance": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/chance/-/chance-1.0.16.tgz", + "integrity": "sha512-2bgDHH5bVfAXH05SPtjqrsASzZ7h90yCuYT2z4mkYpxxYvJXiIydBFzVieVHZx7wLH1Ag2Azaaej2/zA1XUrNQ==" + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", diff --git a/package.json b/package.json index bf3ecb9..a6671cd 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "eslint-plugin-react": "^7.10.0" }, "dependencies": { + "chance": "^1.0.16", "matrix-appservice-bridge": "^1.6.1", "matrix-js-sdk": "^0.10.9", "npm": "^6.4.1", diff --git a/utils/usernameTriplets/adjectives.js b/utils/usernameTriplets/adjectives.js new file mode 100644 index 0000000..f51fe25 --- /dev/null +++ b/utils/usernameTriplets/adjectives.js @@ -0,0 +1,1391 @@ +module.exports = [ + 'able', + 'absolute', + 'academic', + 'acceptable', + 'acclaimed', + 'accomplished', + 'accurate', + 'aching', + 'acidic', + 'acrobatic', + 'adorable', + 'adventurous', + 'babyish', + 'back', + 'baggy', + 'bare', + 'basic', + 'beautiful', + 'belated', + 'beloved', + 'bitter', + 'calculating', + 'calm', + 'candid', + 'canine', + 'capital', + 'carefree', + 'careful', + 'careless', + 'caring', + 'cautious', + 'cavernous', + 'celebrated', + 'charming', + 'damp', + 'dangerous', + 'dapper', + 'daring', + 'dark', + 'darling', + 'dazzling', + 'deadly', + 'deafening', + 'dear', + 'dearest', + 'each', + 'eager', + 'early', + 'earnest', + 'easy', + 'easygoing', + 'ecstatic', + 'edible', + 'educated', + 'elderly', + 'fabulous', + 'failing', + 'faint', + 'fair', + 'faithful', + 'familiar', + 'famous', + 'fancy', + 'fantastic', + 'far', + 'faraway', + 'farflung', + 'faroff', + 'gargantuan', + 'gaseous', + 'general', + 'generous', + 'gentle', + 'genuine', + 'giant', + 'giddy', + 'gigantic', + 'hairy', + 'half', + 'handmade', + 'handsome', + 'handy', + 'happy', + 'happygolucky', + 'hard', + 'icky', + 'icy', + 'ideal', + 'idealistic', + 'identical', + 'idle', + 'idolized', + 'ill', + 'jaded', + 'jagged', + 'jampacked', + 'kaleidoscopic', + 'keen', + 'lanky', + 'large', + 'last', + 'lasting', + 'lavish', + 'lawful', + 'madeup', + 'magnificent', + 'majestic', + 'major', + 'mammoth', + 'marvelous', + 'married', + 'naive', + 'narrow', + 'nasty', + 'natural', + 'oblong', + 'obvious', + 'occasional', + 'oily', + 'palatable', + 'pale', + 'paltry', + 'parallel', + 'parched', + 'partial', + 'passionate', + 'past', + 'pastel', + 'peaceful', + 'peppery', + 'perfect', + 'perfumed', + 'quaint', + 'qualified', + 'radiant', + 'ragged', + 'rapid', + 'rare', + 'rash', + 'raw', + 'recent', + 'reckless', + 'rectangular', + 'safe', + 'salty', + 'same', + 'sandy', + 'sane', + 'sarcastic', + 'sardonic', + 'satisfied', + 'scaly', + 'scarce', + 'scary', + 'scented', + 'scholarly', + 'scientific', + 'scornful', + 'scratchy', + 'scrawny', + 'second', + 'secondary', + 'secret', + 'selfassured', + 'selfreliant', + 'sentimental', + 'single', + 'talkative', + 'tall', + 'tame', + 'tan', + 'tangible', + 'tart', + 'tasty', + 'tattered', + 'taut', + 'tedious', + 'teeming', + 'ultimate', + 'unaware', + 'uncommon', + 'unconscious', + 'understated', + 'unequaled', + 'vacant', + 'vague', + 'vain', + 'valid', + 'wan', + 'warlike', + 'warm', + 'warmhearted', + 'warped', + 'wary', + 'wasteful', + 'watchful', + 'waterlogged', + 'watery', + 'wavy', + 'weak', + 'weird', + 'yawning', + 'yearly', + 'zany', + 'active', + 'actual', + 'adept', + 'admirable', + 'admired', + 'adolescent', + 'adorable', + 'adored', + 'advanced', + 'affectionate', + 'afraid', + 'aged', + 'aggravating', + 'beneficial', + 'best', + 'better', + 'bewitched', + 'big', + 'bighearted', + 'biodegradable', + 'bitesized', + 'cheerful', + 'cheery', + 'chief', + 'chilly', + 'chubby', + 'circular', + 'classic', + 'clean', + 'clear', + 'clearcut', + 'clever', + 'close', + 'closed', + 'decent', + 'decimal', + 'decisive', + 'deep', + 'defenseless', + 'defensive', + 'defiant', + 'deficient', + 'definite', + 'definitive', + 'delayed', + 'delectable', + 'delicious', + 'elaborate', + 'elastic', + 'elated', + 'electric', + 'elegant', + 'elementary', + 'elliptical', + 'fast', + 'fatal', + 'favorable', + 'favorite', + 'fearless', + 'feisty', + 'feline', + 'few', + 'fickle', + 'gifted', + 'giving', + 'glamorous', + 'glaring', + 'glass', + 'gleaming', + 'gleeful', + 'glistening', + 'glittering', + 'gross', + 'hardtofind', + 'harmful', + 'harmless', + 'harmonious', + 'harsh', + 'hasty', + 'haunting', + 'illustrious', + 'imaginary', + 'imaginative', + 'immaculate', + 'immaterial', + 'immediate', + 'immense', + 'impassioned', + 'jaunty', + 'jealous', + 'jittery', + 'key', + 'kind', + 'leading', + 'leafy', + 'lean', + 'left', + 'legal', + 'legitimate', + 'light', + 'massive', + 'mature', + 'meager', + 'mealy', + 'mean', + 'measly', + 'meaty', + 'medical', + 'mediocre', + 'nautical', + 'near', + 'neat', + 'necessary', + 'needy', + 'odd', + 'oddball', + 'offbeat', + 'official', + 'old', + 'periodic', + 'perky', + 'personal', + 'pertinent', + 'pesky', + 'pessimistic', + 'petty', + 'physical', + 'piercing', + 'pink', + 'pitiful', + 'plain', + 'quarrelsome', + 'quarterly', + 'ready', + 'real', + 'realistic', + 'reasonable', + 'red', + 'reflecting', + 'regal', + 'regular', + 'separate', + 'serene', + 'serious', + 'serpentine', + 'several', + 'severe', + 'shabby', + 'shadowy', + 'shady', + 'shallow', + 'sharp', + 'shimmering', + 'shiny', + 'shocked', + 'shocking', + 'shoddy', + 'short', + 'shortterm', + 'showy', + 'shrill', + 'shy', + 'silent', + 'silky', + 'tempting', + 'tender', + 'tense', + 'tepid', + 'terrific', + 'testy', + 'thankful', + 'that', + 'these', + 'tremendous', + 'uneven', + 'unfinished', + 'unfolded', + 'uniform', + 'unique', + 'valuable', + 'vapid', + 'variable', + 'vast', + 'velvety', + 'wealthy', + 'weary', + 'webbed', + 'wee', + 'weekly', + 'weepy', + 'weighty', + 'welcome', + 'welldocumented', + 'yellow', + 'zealous', + 'aggressive', + 'agile', + 'agitated', + 'agonizing', + 'agreeable', + 'ajar', + 'alarmed', + 'alarming', + 'alert', + 'alienated', + 'alive', + 'all', + 'altruistic', + 'bland', + 'blank', + 'blaring', + 'bleak', + 'blind', + 'blissful', + 'blond', + 'blue', + 'blushing', + 'cloudy', + 'clueless', + 'clumsy', + 'cluttered', + 'coarse', + 'cold', + 'colorful', + 'colorless', + 'colossal', + 'comfortable', + 'common', + 'compassionate', + 'competent', + 'complete', + 'delightful', + 'demanding', + 'dense', + 'dental', + 'dependable', + 'dependent', + 'descriptive', + 'deserted', + 'detailed', + 'determined', + 'devoted', + 'different', + 'embellished', + 'eminent', + 'emotional', + 'empty', + 'enchanted', + 'enchanting', + 'energetic', + 'enlightened', + 'enormous', + 'fine', + 'finished', + 'firm', + 'first', + 'firsthand', + 'fitting', + 'fixed', + 'flaky', + 'flamboyant', + 'flashy', + 'flat', + 'flawless', + 'flickering', + 'gloomy', + 'glorious', + 'glossy', + 'glum', + 'golden', + 'good', + 'goodnatured', + 'gorgeous', + 'graceful', + 'healthy', + 'heartfelt', + 'hearty', + 'heavenly', + 'heavy', + 'hefty', + 'helpful', + 'humongous', + 'impartial', + 'impeccable', + 'imperfect', + 'imperturbable', + 'important', + 'impossible', + 'impractical', + 'impressionable', + 'impressive', + 'improbable', + 'joint', + 'jolly', + 'jovial', + 'juvenile', + 'kindhearted', + 'kindly', + 'lighthearted', + 'likable', + 'likely', + 'limited', + 'limp', + 'limping', + 'linear', + 'lined', + 'liquid', + 'medium', + 'meek', + 'mellow', + 'melodic', + 'memorable', + 'menacing', + 'merry', + 'messy', + 'metallic', + 'mild', + 'negative', + 'neglected', + 'negligible', + 'neighboring', + 'nervous', + 'new', + 'oldfashioned', + 'only', + 'open', + 'optimal', + 'optimistic', + 'opulent', + 'plaintive', + 'plastic', + 'playful', + 'pleasant', + 'pleased', + 'pleasing', + 'plump', + 'plush', + 'pointed', + 'pointless', + 'poised', + 'polished', + 'polite', + 'political', + 'pungent', + 'queasy', + 'querulous', + 'reliable', + 'relieved', + 'remarkable', + 'remorseful', + 'remote', + 'repentant', + 'required', + 'respectful', + 'responsible', + 'silly', + 'silver', + 'similar', + 'simple', + 'simplistic', + 'sizzling', + 'skeletal', + 'skinny', + 'sleepy', + 'slight', + 'slim', + 'slimy', + 'slippery', + 'slow', + 'slushy', + 'small', + 'smart', + 'smoggy', + 'smooth', + 'smug', + 'snappy', + 'snarling', + 'sneaky', + 'sniveling', + 'snoopy', + 'thick', + 'thin', + 'third', + 'thirsty', + 'this', + 'thorny', + 'thorough', + 'those', + 'thoughtful', + 'threadbare', + 'united', + 'unkempt', + 'unknown', + 'unlined', + 'unnatural', + 'unrealistic', + 'venerated', + 'vengeful', + 'verifiable', + 'vibrant', + 'vicious', + 'wellgroomed', + 'wellinformed', + 'welllit', + 'wellmade', + 'welloff', + 'welltodo', + 'wellworn', + 'wet', + 'which', + 'whimsical', + 'whirlwind', + 'whispered', + 'worse', + 'writhing', + 'yellowish', + 'zesty', + 'amazing', + 'ambitious', + 'ample', + 'amused', + 'amusing', + 'anchored', + 'ancient', + 'angelic', + 'angry', + 'anguished', + 'animated', + 'annual', + 'another', + 'antique', + 'bogus', + 'boiling', + 'bold', + 'bony', + 'boring', + 'bossy', + 'both', + 'bouncy', + 'bountiful', + 'bowed', + 'complex', + 'complicated', + 'composed', + 'concerned', + 'concrete', + 'confused', + 'conscious', + 'considerate', + 'constant', + 'content', + 'conventional', + 'cooked', + 'cool', + 'cooperative', + 'difficult', + 'digital', + 'diligent', + 'dim', + 'dimpled', + 'dimwitted', + 'direct', + 'discrete', + 'entire', + 'envious', + 'equal', + 'equatorial', + 'essential', + 'esteemed', + 'ethical', + 'euphoric', + 'flimsy', + 'flippant', + 'flowery', + 'fluffy', + 'fluid', + 'flustered', + 'focused', + 'fond', + 'foolhardy', + 'foolish', + 'forceful', + 'forked', + 'formal', + 'forsaken', + 'gracious', + 'grand', + 'grandiose', + 'granular', + 'grateful', + 'grave', + 'gray', + 'great', + 'greedy', + 'green', + 'hidden', + 'high', + 'highlevel', + 'hilarious', + 'hoarse', + 'hollow', + 'homely', + 'inborn', + 'incomparable', + 'incompatible', + 'incomplete', + 'inconsequential', + 'incredible', + 'indelible', + 'indolent', + 'inexperienced', + 'infamous', + 'infantile', + 'joyful', + 'joyous', + 'jubilant', + 'klutzy', + 'knobby', + 'little', + 'live', + 'lively', + 'livid', + 'lone', + 'long', + 'milky', + 'mindless', + 'miniature', + 'minor', + 'minty', + 'misguided', + 'misty', + 'mixed', + 'next', + 'nice', + 'nifty', + 'nimble', + 'nippy', + 'orange', + 'orderly', + 'ordinary', + 'organic', + 'ornate', + 'ornery', + 'poor', + 'popular', + 'portly', + 'posh', + 'positive', + 'possible', + 'potable', + 'powerful', + 'powerless', + 'practical', + 'precious', + 'present', + 'prestigious', + 'questionable', + 'quick', + 'revolving', + 'rewarding', + 'rich', + 'right', + 'rigid', + 'ringed', + 'ripe', + 'sociable', + 'soft', + 'soggy', + 'solid', + 'somber', + 'some', + 'sophisticated', + 'sore', + 'sorrowful', + 'soulful', + 'soupy', + 'sour', + 'spanish', + 'sparkling', + 'sparse', + 'specific', + 'spectacular', + 'speedy', + 'spherical', + 'spicy', + 'spiffy', + 'spirited', + 'spiteful', + 'splendid', + 'spotless', + 'spotted', + 'spry', + 'thrifty', + 'thunderous', + 'tidy', + 'tight', + 'timely', + 'tinted', + 'tiny', + 'tired', + 'torn', + 'total', + 'unripe', + 'unruly', + 'unselfish', + 'unsightly', + 'unsteady', + 'unsung', + 'untidy', + 'untimely', + 'untried', + 'victorious', + 'vigilant', + 'vigorous', + 'villainous', + 'violet', + 'whole', + 'whopping', + 'wicked', + 'wide', + 'wideeyed', + 'wiggly', + 'wild', + 'willing', + 'wilted', + 'winding', + 'windy', + 'young', + 'zigzag', + 'anxious', + 'any', + 'apprehensive', + 'appropriate', + 'apt', + 'arctic', + 'arid', + 'aromatic', + 'artistic', + 'assured', + 'astonishing', + 'athletic', + 'brave', + 'breakable', + 'brief', + 'bright', + 'brilliant', + 'brisk', + 'broken', + 'bronze', + 'brown', + 'bruised', + 'coordinated', + 'corny', + 'corrupt', + 'costly', + 'courageous', + 'courteous', + 'crafty', + 'crazy', + 'creamy', + 'creative', + 'creepy', + 'crisp', + 'dirty', + 'disguised', + 'distant', + 'distant', + 'distinct', + 'distorted', + 'dizzy', + 'dopey', + 'downright', + 'dreary', + 'even', + 'evergreen', + 'everlasting', + 'every', + 'evil', + 'exalted', + 'excellent', + 'excitable', + 'exemplary', + 'exhausted', + 'forthright', + 'fortunate', + 'fragrant', + 'frail', + 'frank', + 'frayed', + 'free', + 'french', + 'frequent', + 'fresh', + 'friendly', + 'frightened', + 'frightening', + 'gregarious', + 'grim', + 'grimy', + 'gripping', + 'grizzled', + 'grouchy', + 'grounded', + 'honest', + 'honorable', + 'honored', + 'hopeful', + 'hospitable', + 'hot', + 'huge', + 'infatuated', + 'inferior', + 'infinite', + 'informal', + 'innocent', + 'insecure', + 'insignificant', + 'insistent', + 'instructive', + 'insubstantial', + 'judicious', + 'juicy', + 'jumbo', + 'knotty', + 'knowing', + 'knowledgeable', + 'longterm', + 'loose', + 'lopsided', + 'lost', + 'loud', + 'lovable', + 'lovely', + 'loving', + 'modern', + 'modest', + 'moist', + 'monthly', + 'monumental', + 'moral', + 'mortified', + 'motionless', + 'nocturnal', + 'noisy', + 'nonstop', + 'normal', + 'notable', + 'noted', + 'original', + 'other', + 'our', + 'outgoing', + 'outlandish', + 'outlying', + 'precious', + 'pretty', + 'previous', + 'pricey', + 'prickly', + 'primary', + 'prime', + 'pristine', + 'private', + 'prize', + 'probable', + 'productive', + 'profitable', + 'quickwitted', + 'quiet', + 'quintessential', + 'roasted', + 'robust', + 'rosy', + 'rotating', + 'rotten', + 'rough', + 'round', + 'rowdy', + 'square', + 'squeaky', + 'squiggly', + 'stable', + 'staid', + 'stained', + 'stale', + 'standard', + 'starchy', + 'stark', + 'starry', + 'steel', + 'steep', + 'sticky', + 'stiff', + 'stimulating', + 'stingy', + 'stormy', + 'strange', + 'strict', + 'strident', + 'striking', + 'striped', + 'strong', + 'studious', + 'stunning', + 'tough', + 'tragic', + 'trained', + 'treasured', + 'tremendous', + 'triangular', + 'tricky', + 'trifling', + 'trim', + 'untrue', + 'unused', + 'unusual', + 'unwelcome', + 'unwieldy', + 'unwilling', + 'unwitting', + 'unwritten', + 'upbeat', + 'virtual', + 'virtuous', + 'visible', + 'winged', + 'wiry', + 'wise', + 'witty', + 'wobbly', + 'woeful', + 'wonderful', + 'wooden', + 'woozy', + 'wordy', + 'worldly', + 'worn', + 'youthful', + 'attached', + 'attentive', + 'attractive', + 'austere', + 'authentic', + 'authorized', + 'automatic', + 'avaricious', + 'average', + 'aware', + 'awesome', + 'awful', + 'awkward', + 'bubbly', + 'bulky', + 'bumpy', + 'buoyant', + 'burdensome', + 'burly', + 'bustling', + 'busy', + 'buttery', + 'buzzing', + 'critical', + 'crooked', + 'crowded', + 'crushing', + 'cuddly', + 'cultivated', + 'cultured', + 'cumbersome', + 'curly', + 'curvy', + 'cute', + 'cylindrical', + 'doting', + 'double', + 'downright', + 'drab', + 'drafty', + 'dramatic', + 'dry', + 'dual', + 'dutiful', + 'excited', + 'exciting', + 'exotic', + 'expensive', + 'experienced', + 'expert', + 'extralarge', + 'extraneous', + 'extrasmall', + 'extroverted', + 'frilly', + 'frivolous', + 'frizzy', + 'front', + 'frosty', + 'frozen', + 'frugal', + 'fruitful', + 'full', + 'fumbling', + 'functional', + 'funny', + 'fussy', + 'fuzzy', + 'growing', + 'growling', + 'grown', + 'grubby', + 'grumpy', + 'guilty', + 'gullible', + 'gummy', + 'humble', + 'humming', + 'hungry', + 'husky', + 'intelligent', + 'intent', + 'intentional', + 'interesting', + 'internal', + 'international', + 'intrepid', + 'ironclad', + 'irresponsible', + 'itchy', + 'jumpy', + 'junior', + 'known', + 'kooky', + 'low', + 'loyal', + 'lucky', + 'lumbering', + 'luminous', + 'lumpy', + 'lustrous', + 'luxurious', + 'mountainous', + 'muddy', + 'muffled', + 'mundane', + 'murky', + 'mushy', + 'musty', + 'mysterious', + 'noteworthy', + 'novel', + 'noxious', + 'numb', + 'nutritious', + 'nutty', + 'outrageous', + 'outstanding', + 'oval', + 'overcooked', + 'overdue', + 'overjoyed', + 'profuse', + 'proper', + 'proud', + 'prudent', + 'punctual', + 'puny', + 'pure', + 'purple', + 'pushy', + 'puzzled', + 'puzzling', + 'quirky', + 'quixotic', + 'quizzical', + 'royal', + 'rubbery', + 'ruddy', + 'rundown', + 'runny', + 'rural', + 'rusty', + 'stupendous', + 'sturdy', + 'stylish', + 'subdued', + 'substantial', + 'subtle', + 'suburban', + 'sudden', + 'sugary', + 'sunny', + 'super', + 'superb', + 'superficial', + 'superior', + 'supportive', + 'surefooted', + 'surprised', + 'suspicious', + 'svelte', + 'sweaty', + 'sweet', + 'sweltering', + 'swift', + 'sympathetic', + 'trivial', + 'troubled', + 'trusting', + 'trustworthy', + 'trusty', + 'truthful', + 'tubby', + 'turbulent', + 'twin', + 'upright', + 'upset', + 'urban', + 'usable', + 'used', + 'useful', + 'useless', + 'utilized', + 'utter', + 'vital', + 'vivacious', + 'vivid', + 'voluminous', + 'worst', + 'worthwhile', + 'worthy', + 'wrathful', + 'wry', + 'yummy', + 'true', + 'aliceblue', + 'aqua', + 'aquamarine', + 'azure', + 'beige', + 'bisque', + 'blanchedalmond', + 'blue', + 'blueviolet', + 'brown', + 'burlywood', + 'cadetblue', + 'chartreuse', + 'chocolate', + 'coral', + 'cornflowerblue', + 'cornsilk', + 'crimson', + 'cyan', + 'darkblue', + 'darkcyan', + 'darkgoldenrod', + 'darkgray', + 'darkgreen', + 'darkgrey', + 'darkkhaki', + 'darkmagenta', + 'darkolivegreen', + 'darkorange', + 'darkorchid', + 'darkred', + 'darksalmon', + 'darkseagreen', + 'darkslateblue', + 'darkslategray', + 'darkslategrey', + 'darkturquoise', + 'darkviolet', + 'deeppink', + 'deepskyblue', + 'dimgray', + 'dimgrey', + 'dodgerblue', + 'firebrick', + 'floralwhite', + 'forestgreen', + 'fractal', + 'fuchsia', + 'gainsboro', + 'ghostwhite', + 'gold', + 'goldenrod', + 'gray', + 'green', + 'greenyellow', + 'honeydew', + 'hotpink', + 'indianred', + 'indigo', + 'ivory', + 'khaki', + 'lavender', + 'lavenderblush', + 'lawngreen', + 'lemonchiffon', + 'lightblue', + 'lightcoral', + 'lightcyan', + 'lightgoldenrod', + 'lightgoldenrodyellow', + 'lightgray', + 'lightgreen', + 'lightgrey', + 'lightpink', + 'lightsalmon', + 'lightseagreen', + 'lightskyblue', + 'lightslateblue', + 'lightslategray', + 'lightsteelblue', + 'lightyellow', + 'lime', + 'limegreen', + 'linen', + 'magenta', + 'maroon', + 'mediumaquamarine', + 'mediumblue', + 'mediumforestgreen', + 'mediumgoldenrod', + 'mediumorchid', + 'mediumpurple', + 'mediumseagreen', + 'mediumslateblue', + 'mediumspringgreen', + 'mediumturquoise', + 'mediumvioletred', + 'midnightblue', + 'mintcream', + 'mistyrose', + 'moccasin', + 'navajowhite', + 'navy', + 'navyblue', + 'oldlace', + 'olive', + 'olivedrab', + 'opaque', + 'orange', + 'orangered', + 'orchid', + 'palegoldenrod', + 'palegreen', + 'paleturquoise', + 'palevioletred', + 'papayawhip', + 'peachpuff', + 'peru', + 'pink', + 'plum', + 'powderblue', + 'purple', + 'red', + 'rosybrown', + 'royalblue', + 'saddlebrown', + 'salmon', + 'sandybrown', + 'seagreen', + 'seashell', + 'sienna', + 'silver', + 'skyblue', + 'slateblue', + 'slategray', + 'slategrey', + 'snow', + 'springgreen', + 'steelblue', + 'tan', + 'teal', + 'thistle', + 'tomato', + 'transparent', + 'turquoise', + 'violet', + 'violetred', + 'wheat', + 'whitesmoke', + 'yellow', + 'yellowgreen', +]; diff --git a/utils/usernameTriplets/animals.js b/utils/usernameTriplets/animals.js new file mode 100644 index 0000000..e7d8d91 --- /dev/null +++ b/utils/usernameTriplets/animals.js @@ -0,0 +1,1706 @@ +module.exports = [ + 'aardvark', + 'aardwolf', + 'abalone', + 'abyssiniancat', + 'abyssiniangroundhornbill', + 'acaciarat', + 'achillestang', + 'acornbarnacle', + 'acornweevil', + 'acornwoodpecker', + 'acouchi', + 'adamsstaghornedbeetle', + 'addax', + 'adder', + 'adeliepenguin', + 'admiralbutterfly', + 'adouri', + 'aegeancat', + 'affenpinscher', + 'hound', + 'augurbuzzard', + 'bushviper', + 'civet', + 'clawedfrog', + 'elephant', + 'fisheagle', + 'goldencat', + 'groundhornbill', + 'harrierhawk', + 'hornbill', + 'jacana', + 'molesnake', + 'paradiseflycatcher', + 'piedkingfisher', + 'porcupine', + 'rockpython', + 'wildcat', + 'wilddog', + 'agama', + 'agouti', + 'aidi', + 'airedale', + 'airedaleterrier', + 'akitainu', + 'mapturtle', + 'jingle', + 'husky', + 'kleekai', + 'malamute', + 'albacoretuna', + 'albatross', + 'albertosaurus', + 'albino', + 'aldabratortoise', + 'allensbigearedbat', + 'alleycat', + 'alligator', + 'alligatorgar', + 'alligatorsnappingturtle', + 'allosaurus', + 'alpaca', + 'alpinegoat', + 'alpineroadguidetigerbeetle', + 'altiplanochinchillamouse', + 'amazondolphin', + 'amazonparrot', + 'amazontreeboa', + 'amberpenshell', + 'ambushbug', + 'alligator', + 'avocet', + 'badger', + 'bittern', + 'vulture', + 'bobtail', + 'bulldog', + 'cicada', + 'crayfish', + 'creamdraft', + 'crocodile', + 'crow', + 'curl', + 'goldfinch', + 'indianhorse', + 'kestrel', + 'lobster', + 'marten', + 'painthorse', + 'quarterhorse', + 'ratsnake', + 'redsquirrel', + 'riverotter', + 'robin', + 'saddlebred', + 'shorthair', + 'toad', + 'warmblood', + 'wigeon', + 'wirehair', + 'amethystgemclam', + 'amethystinepython', + 'amethystsunbird', + 'ammonite', + 'amoeba', + 'amphibian', + 'amphiuma', + 'amurminnow', + 'amurratsnake', + 'amurstarfish', + 'anaconda', + 'anchovy', + 'andalusianhorse', + 'andeancat', + 'andeancondor', + 'anemone', + 'anemonecrab', + 'anemoneshrimp', + 'angelfish', + 'angelwingmussel', + 'anglerfish', + 'angora', + 'angwantibo', + 'anhinga', + 'ankole', + 'ankolewatusi', + 'annashummingbird', + 'annelid', + 'annelida', + 'anole', + 'anophelesmosquito', + 'ant', + 'antarcticfurseal', + 'antarcticgiantpetrel', + 'antbear', + 'anteater', + 'antelope', + 'antelopegroundsquirrel', + 'antipodesgreenparakeet', + 'antlion', + 'anura', + 'aoudad', + 'apatosaur', + 'ape', + 'aphid', + 'apisdorsatalaboriosa', + 'aplomadofalcon', + 'appaloosa', + 'aquaticleech', + 'arabianhorse', + 'arabianoryx', + 'arabianwildcat', + 'aracari', + 'arachnid', + 'arawana', + 'archaeocete', + 'archaeopteryx', + 'archerfish', + 'arcticduck', + 'arcticfox', + 'arctichare', + 'arcticseal', + 'arcticwolf', + 'argali', + 'argentinehornedfrog', + 'argentineruddyduck', + 'argusfish', + 'arieltoucan', + 'arizonaalligatorlizard', + 'arkshell', + 'armadillo', + 'armedcrab', + 'armednylonshrimp', + 'armyant', + 'armyworm', + 'arrowana', + 'arrowcrab', + 'arrowworm', + 'arthropods', + 'aruanas', + 'constablebutterfly', + 'damselfly', + 'elephant', + 'lion', + 'piedstarling', + 'porcupine', + 'smallclawedotter', + 'trumpetfish', + 'waterbuffalo', + 'greaterfreshwaterclam', + 'lesserfreshwaterclam', + 'mouflon', + 'asp', + 'assassinbug', + 'astarte', + 'astrangiacoral', + 'atlanticblackgoby', + 'atlanticbluetang', + 'atlanticridleyturtle', + 'atlanticsharpnosepuffer', + 'atlanticspadefish', + 'atlasmoth', + 'attwatersprairiechicken', + 'auk', + 'auklet', + 'aurochs', + 'australiancattledog', + 'australiancurlew', + 'australianfreshwatercrocodile', + 'australianfurseal', + 'australiankelpie', + 'australiankestrel', + 'australianshelduck', + 'australiansilkyterrier', + 'austrianpinscher', + 'avians', + 'avocet', + 'axisdeer', + 'axolotl', + 'ayeaye', + 'aztecant', + 'azurevase', + 'azurevasesponge', + 'azurewingedmagpie', + 'babirusa', + 'baboon', + 'backswimmer', + 'bactrian', + 'badger', + 'bagworm', + 'baiji', + 'baldeagle', + 'baleenwhale', + 'balloonfish', + 'ballpython', + 'bandicoot', + 'bangeltiger', + 'bantamrooster', + 'banteng', + 'barasinga', + 'barasingha', + 'barb', + 'barbet', + 'barebirdbat', + 'barnacle', + 'barnowl', + 'barnswallow', + 'barracuda', + 'basenji', + 'basil', + 'basilisk', + 'bass', + 'bassethound', + 'bat', + 'bats', + 'beagle', + 'bear', + 'beardedcollie', + 'beardeddragon', + 'beauceron', + 'beaver', + 'bedbug', + 'bedlingtonterrier', + 'bee', + 'beetle', + 'bellfrog', + 'bellsnake', + 'belugawhale', + 'bengaltiger', + 'bergerpicard', + 'bernesemountaindog', + 'betafish', + 'bettong', + 'bichonfrise', + 'bighorn', + 'bighornedsheep', + 'bighornsheep', + 'bigmouthbass', + 'bilby', + 'binturong', + 'bird', + 'birdofparadise', + 'bison', + 'bittern', + 'blackbear', + 'blackbird', + 'blackbuck', + 'blackfish', + 'blackfly', + 'blackfootedferret', + 'blacklab', + 'blacklemur', + 'blackmamba', + 'blacknorwegianelkhound', + 'blackpanther', + 'blackrhino', + 'blackrussianterrier', + 'blackwidowspider', + 'blesbok', + 'blobfish', + 'blowfish', + 'blueandgoldmackaw', + 'bluebird', + 'bluebottle', + 'bluebottlejellyfish', + 'bluefintuna', + 'bluefish', + 'bluegill', + 'bluejay', + 'blueshark', + 'bluet', + 'bluetickcoonhound', + 'bluetonguelizard', + 'bluewhale', + 'boa', + 'boaconstrictor', + 'boar', + 'bobcat', + 'bobolink', + 'bobwhite', + 'boilweevil', + 'bongo', + 'bonobo', + 'booby', + 'bordercollie', + 'borderterrier', + 'borer', + 'borzoi', + 'boto', + 'boubou', + 'boutu', + 'bovine', + 'brahmanbull', + 'brahmancow', + 'brant', + 'bream', + 'brocketdeer', + 'bronco', + 'brontosaurus', + 'brownbear', + 'brownbutterfly', + 'bubblefish', + 'buck', + 'buckeyebutterfly', + 'budgie', + 'bufeo', + 'buffalo', + 'bufflehead', + 'bug', + 'bull', + 'bullfrog', + 'bullmastiff', + 'bumblebee', + 'bunny', + 'bunting', + 'burro', + 'bushbaby', + 'bushsqueaker', + 'bustard', + 'butterfly', + 'buzzard', + 'caecilian', + 'caiman', + 'caimanlizard', + 'calf', + 'camel', + 'canadagoose', + 'canary', + 'canine', + 'canvasback', + 'capeghostfrog', + 'capybara', + 'caracal', + 'cardinal', + 'caribou', + 'carp', + 'carpenterant', + 'cassowary', + 'cat', + 'catbird', + 'caterpillar', + 'catfish', + 'cats', + 'cattle', + 'caudata', + 'cavy', + 'centipede', + 'cero', + 'chafer', + 'chameleon', + 'chamois', + 'chanticleer', + 'cheetah', + 'chevrotain', + 'chick', + 'chickadee', + 'chicken', + 'chihuahua', + 'chimneyswift', + 'chimpanzee', + 'chinchilla', + 'chinesecrocodilelizard', + 'chipmunk', + 'chital', + 'chrysalis', + 'chrysomelid', + 'chuckwalla', + 'chupacabra', + 'cicada', + 'cirriped', + 'civet', + 'clam', + 'cleanerwrasse', + 'clingfish', + 'clownanemonefish', + 'clumber', + 'coati', + 'cob', + 'cobra', + 'cockerspaniel', + 'cod', + 'coelacanth', + 'collardlizard', + 'collie', + 'colt', + 'comet', + 'commabutterfly', + 'commongonolek', + 'conch', + 'condor', + 'coney', + 'conure', + 'cony', + 'coot', + 'cooter', + 'copepod', + 'copperbutterfly', + 'copperhead', + 'coqui', + 'coral', + 'cormorant', + 'cornsnake', + 'corydorascatfish', + 'cottonmouth', + 'cottontail', + 'cow', + 'cowbird', + 'cowrie', + 'coyote', + 'coypu', + 'crab', + 'crane', + 'cranefly', + 'crayfish', + 'creature', + 'cricket', + 'crocodile', + 'crocodileskink', + 'crossbill', + 'crow', + 'crownofthornsstarfish', + 'crustacean', + 'cub', + 'cuckoo', + 'cur', + 'curassow', + 'curlew', + 'cuscus', + 'cusimanse', + 'cuttlefish', + 'cutworm', + 'cygnet', + 'dachshund', + 'dalmatian', + 'damselfly', + 'danishswedishfarmdog', + 'darklingbeetle', + 'dartfrog', + 'darwinsfox', + 'dassie', + 'dassierat', + 'davidstiger', + 'deer', + 'deermouse', + 'degu', + 'degus', + 'deinonychus', + 'desertpupfish', + 'devilfish', + 'deviltasmanian', + 'diamondbackrattlesnake', + 'dikdik', + 'dikkops', + 'dingo', + 'dinosaur', + 'diplodocus', + 'dipper', + 'discus', + 'dobermanpinscher', + 'doctorfish', + 'dodo', + 'dodobird', + 'doe', + 'dog', + 'dogfish', + 'dolphin', + 'donkey', + 'dorado', + 'dore', + 'dorking', + 'dormouse', + 'dotterel', + 'dove', + 'dowitcher', + 'drafthorse', + 'dragon', + 'dragonfly', + 'drake', + 'drever', + 'dromaeosaur', + 'dromedary', + 'drongo', + 'duck', + 'duckbillcat', + 'duckbillplatypus', + 'duckling', + 'dugong', + 'duiker', + 'dunlin', + 'dunnart', + 'dutchshepherddog', + 'dutchsmoushond', + 'eagle', + 'earthworm', + 'earwig', + 'easternglasslizard', + 'easternnewt', + 'echidna', + 'eel', + 'eelelephant', + 'eeve', + 'eft', + 'egg', + 'egret', + 'eider', + 'eidolonhelvum', + 'ekaltadeta', + 'eland', + 'electriceel', + 'elephant', + 'elephantbeetle', + 'elephantseal', + 'elk', + 'elkhound', + 'elver', + 'emeraldtreeskink', + 'emperorpenguin', + 'emperorshrimp', + 'emu', + 'englishpointer', + 'englishsetter', + 'equestrian', + 'equine', + 'erin', + 'ermine', + 'erne', + 'eskimodog', + 'esok', + 'estuarinecrocodile', + 'ethiopianwolf', + 'europeanfiresalamander', + 'europeanpolecat', + 'ewe', + 'eyas', + 'eyelashpitviper', + 'eyra', + 'fairybluebird', + 'fairyfly', + 'falcon', + 'fallowdeer', + 'fantail', + 'fanworms', + 'fattaileddunnart', + 'fawn', + 'feline', + 'fennecfox', + 'ferret', + 'fiddlercrab', + 'fieldmouse', + 'fieldspaniel', + 'finch', + 'finnishspitz', + 'finwhale', + 'fireant', + 'firebelliedtoad', + 'firecrest', + 'firefly', + 'fish', + 'fishingcat', + 'flamingo', + 'flatcoatretriever', + 'flatfish', + 'flea', + 'flee', + 'flicker', + 'flickertailsquirrel', + 'flies', + 'flounder', + 'fluke', + 'fly', + 'flycatcher', + 'flyingfish', + 'flyingfox', + 'flyinglemur', + 'flyingsquirrel', + 'foal', + 'fossa', + 'fowl', + 'fox', + 'foxhound', + 'foxterrier', + 'frenchbulldog', + 'freshwatereel', + 'frigatebird', + 'frilledlizard', + 'frillneckedlizard', + 'fritillarybutterfly', + 'frog', + 'frogmouth', + 'fruitbat', + 'fruitfly', + 'fugu', + 'fulmar', + 'funnelweaverspider', + 'furseal', + 'gadwall', + 'galago', + 'galah', + 'galapagosalbatross', + 'galapagosdove', + 'galapagoshawk', + 'galapagosmockingbird', + 'galapagospenguin', + 'galapagossealion', + 'galapagostortoise', + 'gallinule', + 'gallowaycow', + 'gander', + 'gangesdolphin', + 'gannet', + 'gar', + 'gardensnake', + 'garpike', + 'gartersnake', + 'gaur', + 'gavial', + 'gazelle', + 'gecko', + 'geese', + 'gelada', + 'gelding', + 'gemsbok', + 'gemsbuck', + 'genet', + 'gentoopenguin', + 'gerbil', + 'gerenuk', + 'germanpinscher', + 'germanshepherd', + 'germanshorthairedpointer', + 'germanspaniel', + 'germanspitz', + 'germanwirehairedpointer', + 'gharial', + 'ghostshrimp', + 'giantschnauzer', + 'gibbon', + 'gilamonster', + 'giraffe', + 'glassfrog', + 'globefish', + 'glowworm', + 'gnat', + 'gnatcatcher', + 'gnu', + 'goa', + 'goat', + 'godwit', + 'goitered', + 'goldeneye', + 'goldenmantledgroundsquirrel', + 'goldenretriever', + 'goldfinch', + 'goldfish', + 'gonolek', + 'goose', + 'goosefish', + 'gopher', + 'goral', + 'gordonsetter', + 'gorilla', + 'goshawk', + 'gosling', + 'gossamerwingedbutterfly', + 'gourami', + 'grackle', + 'grasshopper', + 'grassspider', + 'grayfox', + 'grayling', + 'grayreefshark', + 'graysquirrel', + 'graywolf', + 'greatargus', + 'greatdane', + 'greathornedowl', + 'greatwhiteshark', + 'grebe', + 'greendarnerdragonfly', + 'greyhounddog', + 'grison', + 'grizzlybear', + 'grosbeak', + 'groundbeetle', + 'groundhog', + 'grouper', + 'grouse', + 'grub', + 'grunion', + 'guanaco', + 'guernseycow', + 'guillemot', + 'guineafowl', + 'guineapig', + 'gull', + 'guppy', + 'gyrfalcon', + 'hackee', + 'haddock', + 'hadrosaurus', + 'hagfish', + 'hairstreak', + 'hairstreakbutterfly', + 'hake', + 'halcyon', + 'halibut', + 'halicore', + 'hamadryad', + 'hamadryas', + 'hammerheadbird', + 'hammerheadshark', + 'hammerkop', + 'hamster', + 'hanumanmonkey', + 'hapuka', + 'hapuku', + 'harborporpoise', + 'harborseal', + 'hare', + 'harlequinbug', + 'harpseal', + 'harpyeagle', + 'harrier', + 'harrierhawk', + 'hart', + 'hartebeest', + 'harvestmen', + 'harvestmouse', + 'hatchetfish', + 'hawaiianmonkseal', + 'hawk', + 'hectorsdolphin', + 'hedgehog', + 'heifer', + 'hellbender', + 'hen', + 'herald', + 'herculesbeetle', + 'hermitcrab', + 'heron', + 'herring', + 'hind', + 'hippopotamus', + 'hoatzin', + 'hochstettersfrog', + 'hog', + 'hogget', + 'hoiho', + 'hoki', + 'homalocephale', + 'honeybadger', + 'honeybee', + 'honeycreeper', + 'honeyeater', + 'hookersealion', + 'hoopoe', + 'hornbill', + 'hornedtoad', + 'hornedviper', + 'hornet', + 'hornshark', + 'horse', + 'horsechestnutleafminer', + 'horsefly', + 'horsemouse', + 'horseshoebat', + 'horseshoecrab', + 'hound', + 'housefly', + 'hoverfly', + 'howlermonkey', + 'huemul', + 'huia', + 'human', + 'hummingbird', + 'humpbackwhale', + 'husky', + 'hydatidtapeworm', + 'hydra', + 'hyena', + 'hylaeosaurus', + 'hypacrosaurus', + 'hypsilophodon', + 'hyracotherium', + 'hyrax', + 'iaerismetalmark', + 'ibadanmalimbe', + 'iberianbarbel', + 'iberianchiffchaff', + 'iberianemeraldlizard', + 'iberianlynx', + 'iberianmidwifetoad', + 'iberianmole', + 'iberiannase', + 'ibex', + 'ibis', + 'ibisbill', + 'ibizanhound', + 'iceblueredtopzebra', + 'icefish', + 'icelandgull', + 'icelandichorse', + 'icelandicsheepdog', + 'ichidna', + 'ichneumonfly', + 'ichthyosaurs', + 'ichthyostega', + 'icterinewarbler', + 'iggypops', + 'iguana', + 'iguanodon', + 'illadopsis', + 'ilsamochadegu', + 'imago', + 'impala', + 'imperatorangel', + 'imperialeagle', + 'incatern', + 'inchworm', + 'indianabat', + 'indiancow', + 'indianelephant', + 'indianglassfish', + 'indianhare', + 'indianjackal', + 'indianpalmsquirrel', + 'indianpangolin', + 'indianrhinoceros', + 'indianringneckparakeet', + 'indianrockpython', + 'indianskimmer', + 'indianspinyloach', + 'indigobunting', + 'indigowingedparrot', + 'indochinahogdeer', + 'indochinesetiger', + 'indri', + 'indusriverdolphin', + 'inexpectatumpleco', + 'inganue', + 'insect', + 'intermediateegret', + 'invisiblerail', + 'iraniangroundjay', + 'iridescentshark', + 'iriomotecat', + 'irishdraughthorse', + 'irishredandwhitesetter', + 'irishsetter', + 'irishterrier', + 'irishwaterspaniel', + 'irishwolfhound', + 'irrawaddydolphin', + 'irukandjijellyfish', + 'isabellineshrike', + 'isabellinewheatear', + 'islandcanary', + 'islandwhistler', + 'isopod', + 'italianbrownbear', + 'italiangreyhound', + 'ivorybackedwoodswallow', + 'ivorybilledwoodpecker', + 'ivorygull', + 'izuthrush', + 'jabiru', + 'jackal', + 'jackrabbit', + 'jaeger', + 'jaguar', + 'jaguarundi', + 'janenschia', + 'japanesebeetle', + 'javalina', + 'jay', + 'jellyfish', + 'jenny', + 'jerboa', + 'joey', + 'johndory', + 'juliabutterfly', + 'jumpingbean', + 'junco', + 'junebug', + 'kagu', + 'kakapo', + 'kakarikis', + 'kangaroo', + 'karakul', + 'katydid', + 'kawala', + 'kentrosaurus', + 'kestrel', + 'kid', + 'killdeer', + 'killerwhale', + 'killifish', + 'kingbird', + 'kingfisher', + 'kinglet', + 'kingsnake', + 'kinkajou', + 'kiskadee', + 'kissingbug', + 'kite', + 'kitfox', + 'kitten', + 'kittiwake', + 'kitty', + 'kiwi', + 'koala', + 'koalabear', + 'kob', + 'kodiakbear', + 'koi', + 'komododragon', + 'koodoo', + 'kookaburra', + 'kouprey', + 'krill', + 'kronosaurus', + 'kudu', + 'kusimanse', + 'labradorretriever', + 'lacewing', + 'ladybird', + 'ladybug', + 'lamb', + 'lamprey', + 'langur', + 'lark', + 'larva', + 'laughingthrush', + 'lcont', + 'leafbird', + 'leafcutterant', + 'leafhopper', + 'leafwing', + 'leech', + 'lemming', + 'lemur', + 'leonberger', + 'leopard', + 'leopardseal', + 'leveret', + 'lhasaapso', + 'liger', + 'lightningbug', + 'limpet', + 'limpkin', + 'ling', + 'lion', + 'lionfish', + 'littlenightmonkeys', + 'lizard', + 'llama', + 'lobo', + 'lobster', + 'locust', + 'loggerheadturtle', + 'longhorn', + 'longhornbeetle', + 'longspur', + 'loon', + 'lorikeet', + 'loris', + 'louse', + 'lovebird', + 'lowchen', + 'lunamoth', + 'lungfish', + 'lynx', + 'macaque', + 'macaw', + 'macropod', + 'magpie', + 'maiasaura', + 'majungatholus', + 'malamute', + 'mallard', + 'maltesedog', + 'mamba', + 'mamenchisaurus', + 'mammal', + 'mammoth', + 'manatee', + 'mandrill', + 'mangabey', + 'manta', + 'mantaray', + 'mantid', + 'mantis', + 'mantisray', + 'manxcat', + 'mara', + 'marabou', + 'marbledmurrelet', + 'mare', + 'marlin', + 'marmoset', + 'marmot', + 'marten', + 'martin', + 'massasauga', + 'massospondylus', + 'mastiff', + 'mastodon', + 'mayfly', + 'meadowhawk', + 'meadowlark', + 'mealworm', + 'meerkat', + 'megalosaurus', + 'megaraptor', + 'merganser', + 'merlin', + 'metalmarkbutterfly', + 'metamorphosis', + 'microvenator', + 'midge', + 'milksnake', + 'milkweedbug', + 'millipede', + 'minibeast', + 'mink', + 'minnow', + 'mite', + 'moa', + 'mockingbird', + 'mole', + 'mollies', + 'mollusk', + 'molly', + 'monarch', + 'mongoose', + 'monkey', + 'monkfish', + 'monoclonius', + 'montanoceratops', + 'moorhen', + 'moose', + 'moray', + 'morayeel', + 'morpho', + 'mosasaur', + 'mosquito', + 'moth', + 'motmot', + 'mouflon', + 'mountaincat', + 'mountainlion', + 'mouse', + 'mousebird', + 'mudpuppy', + 'mule', + 'mullet', + 'muntjac', + 'murrelet', + 'muskox', + 'muskrat', + 'mussaurus', + 'mussel', + 'mustang', + 'mutt', + 'myna', + 'mynah', + 'myotis', + 'nabarlek', + 'nag', + 'naga', + 'nagapies', + 'nandine', + 'nandoo', + 'nandu', + 'narwhal', + 'narwhale', + 'natterjacktoad', + 'nauplius', + 'nautilus', + 'needlefish', + 'needletail', + 'nematode', + 'nene', + 'neonblueguppy', + 'neonbluehermitcrab', + 'neondwarfgourami', + 'neonrainbowfish', + 'neonredguppy', + 'neontetra', + 'nerka', + 'nettlefish', + 'newfoundlanddog', + 'newt', + 'newtnutria', + 'nightcrawler', + 'nighthawk', + 'nightheron', + 'nightingale', + 'nightjar', + 'nilgai', + 'armadillo', + 'noctilio', + 'noctule', + 'noddy', + 'noolbenger', + 'northerncardinals', + 'northernelephantseal', + 'northernflyingsquirrel', + 'northernfurseal', + 'northernpike', + 'northernseahorse', + 'northernspottedowl', + 'norwaylobster', + 'norwayrat', + 'nubiangoat', + 'nudibranch', + 'numbat', + 'nurseshark', + 'nutcracker', + 'nuthatch', + 'nutria', + 'nyala', + 'ocelot', + 'octopus', + 'okapi', + 'olingo', + 'olm', + 'opossum', + 'orangutan', + 'orca', + 'oregonsilverspotbutterfly', + 'oriole', + 'oropendola', + 'oropendula', + 'oryx', + 'osprey', + 'ostracod', + 'ostrich', + 'otter', + 'ovenbird', + 'owl', + 'owlbutterfly', + 'ox', + 'oxen', + 'oxpecker', + 'oyster', + 'ozarkbigearedbat', + 'paca', + 'pachyderm', + 'pacificparrotlet', + 'paddlefish', + 'paintedladybutterfly', + 'panda', + 'pangolin', + 'panther', + 'paperwasp', + 'papillon', + 'parakeet', + 'parrot', + 'partridge', + 'peacock', + 'peafowl', + 'peccary', + 'pekingese', + 'pelican', + 'pelicinuspetrel', + 'penguin', + 'perch', + 'peregrinefalcon', + 'pewee', + 'phalarope', + 'pharaohhound', + 'pheasant', + 'phoebe', + 'phoenix', + 'pigeon', + 'piglet', + 'pika', + 'pike', + 'pikeperch', + 'pilchard', + 'pinemarten', + 'pinkriverdolphin', + 'pinniped', + 'pintail', + 'pipistrelle', + 'pipit', + 'piranha', + 'pitbull', + 'pittabird', + 'plainsqueaker', + 'plankton', + 'planthopper', + 'platypus', + 'plover', + 'polarbear', + 'polecat', + 'polyp', + 'polyturator', + 'pomeranian', + 'pondskater', + 'pony', + 'pooch', + 'poodle', + 'porcupine', + 'porpoise', + 'portuguesemanofwar', + 'possum', + 'prairiedog', + 'prawn', + 'prayingmantid', + 'prayingmantis', + 'primate', + 'pronghorn', + 'pseudodynerusquadrisectus', + 'ptarmigan', + 'pterodactyls', + 'pterosaurs', + 'puffer', + 'pufferfish', + 'puffin', + 'pug', + 'pullet', + 'puma', + 'pupa', + 'pupfish', + 'puppy', + 'purplemarten', + 'pygmy', + 'python', + 'quadrisectus', + 'quagga', + 'quahog', + 'quail', + 'queenalexandrasbirdwing', + 'queenalexandrasbirdwingbutterfly', + 'queenant', + 'queenbee', + 'queenconch', + 'queenslandgrouper', + 'queenslandheeler', + 'queensnake', + 'quelea', + 'quetzal', + 'quetzalcoatlus', + 'quillback', + 'quinquespinosus', + 'quokka', + 'quoll', + 'rabbit', + 'rabidsquirrel', + 'raccoon', + 'racer', + 'racerunner', + 'ragfish', + 'rail', + 'rainbowfish', + 'rainbowlorikeet', + 'rainbowtrout', + 'ram', + 'raptors', + 'rasbora', + 'rat', + 'ratfish', + 'rattail', + 'rattlesnake', + 'raven', + 'ray', + 'redhead', + 'redheadedwoodpecker', + 'redpoll', + 'redstart', + 'redtailedhawk', + 'reindeer', + 'reptile', + 'reynard', + 'rhea', + 'rhesusmonkey', + 'rhino', + 'rhinoceros', + 'rhinocerosbeetle', + 'rhodesianridgeback', + 'ringtailedlemur', + 'ringworm', + 'riograndeescuerzo', + 'roach', + 'roadrunner', + 'roan', + 'robberfly', + 'robin', + 'rockrat', + 'rodent', + 'roebuck', + 'roller', + 'rook', + 'rooster', + 'rottweiler', + 'sable', + 'sableantelope', + 'sablefish', + 'saiga', + 'sakimonkey', + 'salamander', + 'salmon', + 'saltwatercrocodile', + 'sambar', + 'samoyeddog', + 'sandbarshark', + 'sanddollar', + 'sanderling', + 'sandpiper', + 'sapsucker', + 'sardine', + 'sawfish', + 'scallop', + 'scarab', + 'scarletibis', + 'scaup', + 'schapendoes', + 'schipperke', + 'schnauzer', + 'scorpion', + 'scoter', + 'screamer', + 'seabird', + 'seagull', + 'seahog', + 'seahorse', + 'seal', + 'sealion', + 'seamonkey', + 'seaslug', + 'seaurchin', + 'senegalpython', + 'seriema', + 'serpent', + 'serval', + 'shark', + 'shearwater', + 'sheep', + 'sheldrake', + 'shelduck', + 'shibainu', + 'shihtzu', + 'shorebird', + 'shoveler', + 'shrew', + 'shrike', + 'shrimp', + 'siamang', + 'siamesecat', + 'siberiantiger', + 'sidewinder', + 'sifaka', + 'silkworm', + 'silverfish', + 'silverfox', + 'silversidefish', + 'siskin', + 'skimmer', + 'skipper', + 'skua', + 'skylark', + 'sloth', + 'slothbear', + 'slug', + 'smelts', + 'smew', + 'snail', + 'snake', + 'snipe', + 'snoutbutterfly', + 'snowdog', + 'snowgeese', + 'snowleopard', + 'snowmonkey', + 'snowyowl', + 'sockeyesalmon', + 'solenodon', + 'solitaire', + 'songbird', + 'sora', + 'southernhairnosedwombat', + 'sow', + 'spadefoot', + 'sparrow', + 'sphinx', + 'spider', + 'spidermonkey', + 'spiketail', + 'spittlebug', + 'sponge', + 'spoonbill', + 'spotteddolphin', + 'spreadwing', + 'springbok', + 'springpeeper', + 'springtail', + 'squab', + 'squamata', + 'squeaker', + 'squid', + 'squirrel', + 'stag', + 'stagbeetle', + 'stallion', + 'starfish', + 'starling', + 'steed', + 'steer', + 'stegosaurus', + 'stickinsect', + 'stickleback', + 'stilt', + 'stingray', + 'stinkbug', + 'stinkpot', + 'stoat', + 'stonefly', + 'stork', + 'stud', + 'sturgeon', + 'sugarglider', + 'sulphurbutterfly', + 'sunbear', + 'sunbittern', + 'sunfish', + 'swallow', + 'swallowtail', + 'swallowtailbutterfly', + 'swan', + 'swellfish', + 'swift', + 'swordfish', + 'tadpole', + 'tahr', + 'takin', + 'tamarin', + 'tanager', + 'tapaculo', + 'tapeworm', + 'tapir', + 'tarantula', + 'tarpan', + 'tarsier', + 'taruca', + 'tasmaniandevil', + 'tasmaniantiger', + 'tattler', + 'tayra', + 'teal', + 'tegus', + 'teledu', + 'tench', + 'tenrec', + 'termite', + 'tern', + 'terrapin', + 'terrier', + 'thoroughbred', + 'thrasher', + 'thrip', + 'thrush', + 'thunderbird', + 'thylacine', + 'tick', + 'tiger', + 'tigerbeetle', + 'tigermoth', + 'tigershark', + 'tilefish', + 'tinamou', + 'titi', + 'titmouse', + 'toad', + 'toadfish', + 'tomtit', + 'topi', + 'tortoise', + 'toucan', + 'towhee', + 'tragopan', + 'treecreeper', + 'trex', + 'triceratops', + 'trogon', + 'trout', + 'trumpeterbird', + 'trumpeterswan', + 'tsetsefly', + 'tuatara', + 'tuna', + 'turaco', + 'turkey', + 'turnstone', + 'turtle', + 'turtledove', + 'uakari', + 'ugandakob', + 'uintagroundsquirrel', + 'ulyssesbutterfly', + 'umbrellabird', + 'umbrette', + 'unau', + 'ungulate', + 'unicorn', + 'upupa', + 'urchin', + 'urial', + 'uromastyxmaliensis', + 'uromastyxspinipes', + 'urson', + 'urubu', + 'urus', + 'urutu', + 'urva', + 'utahprairiedog', + 'vampirebat', + 'vaquita', + 'veery', + 'velociraptor', + 'velvetcrab', + 'velvetworm', + 'venomoussnake', + 'verdin', + 'vervet', + 'viceroybutterfly', + 'vicuna', + 'viper', + 'viperfish', + 'vipersquid', + 'vireo', + 'virginiaopossum', + 'vixen', + 'vole', + 'volvox', + 'vulpesvelox', + 'vulpesvulpes', + 'vulture', + 'walkingstick', + 'wallaby', + 'wallaroo', + 'walleye', + 'walrus', + 'warbler', + 'warthog', + 'wasp', + 'waterboatman', + 'waterbuck', + 'waterbuffalo', + 'waterbug', + 'waterdogs', + 'waterdragons', + 'watermoccasin', + 'waterstrider', + 'waterthrush', + 'wattlebird', + 'watussi', + 'waxwing', + 'weasel', + 'weaverbird', + 'weevil', + 'westafricanantelope', + 'whale', + 'whapuku', + 'whelp', + 'whimbrel', + 'whippet', + 'whippoorwill', + 'whitebeakeddolphin', + 'whiteeye', + 'whitepelican', + 'whiterhino', + 'whitetaileddeer', + 'whitetippedreefshark', + 'whooper', + 'whoopingcrane', + 'widgeon', + 'widowspider', + 'wildcat', + 'wildebeast', + 'wildebeest', + 'willet', + 'wireworm', + 'wisent', + 'wobbegongshark', + 'wolf', + 'wolfspider', + 'wolverine', + 'wombat', + 'woodborer', + 'woodchuck', + 'woodnymphbutterfly', + 'woodpecker', + 'woodstorks', + 'woollybearcaterpillar', + 'worm', + 'wrasse', + 'wreckfish', + 'wren', + 'wrenchbird', + 'wryneck', + 'wuerhosaurus', + 'wyvern', + 'xanclomys', + 'xanthareel', + 'xantus', + 'xantusmurrelet', + 'xeme', + 'xenarthra', + 'xenoposeidon', + 'xenops', + 'xenopterygii', + 'xenopus', + 'xenotarsosaurus', + 'xenurusunicinctus', + 'xerus', + 'xiaosaurus', + 'xinjiangovenator', + 'xiphias', + 'xiphiasgladius', + 'xiphosuran', + 'xoloitzcuintli', + 'xoni', + 'xrayfish', + 'xraytetra', + 'xuanhanosaurus', + 'xuanhuaceratops', + 'xuanhuasaurus', + 'yaffle', + 'yak', + 'yapok', + 'yardant', + 'yearling', + 'yellowbelliedmarmot', + 'yellowbellylizard', + 'yellowhammer', + 'yellowjacket', + 'yellowlegs', + 'yellowthroat', + 'yellowwhitebutterfly', + 'yeti', + 'ynambu', + 'yorkshireterrier', + 'yosemitetoad', + 'yucker', + 'zander', + 'zanzibardaygecko', + 'zebra', + 'zebradove', + 'zebrafinch', + 'zebrafish', + 'zebralongwingbutterfly', + 'zebraswallowtailbutterfly', + 'zebratailedlizard', + 'zebu', + 'zenaida', + 'zeren', + 'zethusspinipes', + 'zethuswasp', + 'zigzagsalamander', + 'zonetailedpigeon', + 'zooplankton', + 'zopilote', + 'zorilla', +]; diff --git a/utils/usernameTriplets/core.js b/utils/usernameTriplets/core.js new file mode 100644 index 0000000..633d40c --- /dev/null +++ b/utils/usernameTriplets/core.js @@ -0,0 +1,27 @@ +const adjectives = require('./adjectives'); +const animals = require('./animals'); +const { randGen, seededRandNth } = require('./random'); + +const pickRandom = (gen, vector) => seededRandNth(gen, vector); + +const buildGfy = publicKey => { + const gen = randGen(publicKey); + const firstAdjective = pickRandom(gen, adjectives); + const secondAdjective = pickRandom(gen, adjectives); + const animal = pickRandom(gen, animals); + return `${firstAdjective} ${secondAdjective} ${animal}`; +}; + +const generateGfy = publicKey => { + if (publicKey === null || publicKey === '0') { + return 'Unknown'; + } + + if (typeof publicKey === 'undefined') { + return buildGfy(new Date().getTime()); + } + + return buildGfy(publicKey); +}; + +module.exports = { generateGfy }; diff --git a/utils/usernameTriplets/random.js b/utils/usernameTriplets/random.js new file mode 100644 index 0000000..2bab90f --- /dev/null +++ b/utils/usernameTriplets/random.js @@ -0,0 +1,9 @@ +const Chance = require('chance'); + +const randGen = seed => new Chance(seed); + +const seededRandInt = (gen, n) => gen.integer({ min: 0, max: n - 1 }); + +const seededRandNth = (gen, coll) => coll[seededRandInt(gen, coll.length)]; + +module.exports = { randGen, seededRandNth };