UNPKG

hololive-nick-gen

Version:
83 lines (82 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateNickname = void 0; const HOLOJP_FANNAMES = [ 'Soratomo', 'Robosa', '35P', 'Hoshiyomi', 'Kabumin', 'Rosetai', 'Senpai', 'Sukonbu', 'Matsurisu', 'Aqua_Crew', 'Shiokko', 'Human', 'Chocomaid', 'Subatomo', 'Mion_Family', 'Onigiriya', 'Koronesuki', 'Kaitakusha', 'Fandead', 'Elfriend', 'Shirogane', 'Houshou', 'Heimin', 'Tatsunoko', 'Watamate', 'Lu_Knight' ]; const HOLOEN_FANNAMES = [ 'Dead_Beat', 'KFP', 'Chimken', 'Takodachi', 'Chumbud', 'Teamate', 'Gator', 'Irystocrat', 'Sapling', 'Kronie', 'Hooman', 'Brat', 'Baerat' ]; const DATASETS = { ADJECTIVES: [ 'Lovely', 'Confident', 'Robust', 'Dynamic', 'Brave', 'Calm', 'Sad', 'Wise', 'Wild', 'Clean', 'Crazy', 'Sneaky', 'Silly', 'Lucid', 'Leader' ], FANNAMES: HOLOEN_FANNAMES.concat(HOLOJP_FANNAMES) }; function randomInt({ min = 0, max = 100 }) { return Math.floor(Math.random() * (max - min + 1) + min); } /** * Generates a random hololive-themed nickname * @returns {string} A random nickname consisting of an adjective and a fanname * @example * const nickname = generateNickname(); * console.log(nickname); // "Cruel_KFP" */ function generateNickname() { const adjective = DATASETS.ADJECTIVES[randomInt({ max: DATASETS.ADJECTIVES.length - 1 })]; const fanname = DATASETS.FANNAMES[randomInt({ max: DATASETS.FANNAMES.length - 1 })]; return `${adjective}_${fanname}`; } exports.generateNickname = generateNickname;