Files
lilyissillyyy 46e7a9e244 Use globalName
2025-09-18 16:11:31 -04:00

53 lines
2.1 KiB
JavaScript

const Command = require('../../framework/Command');
const { oneLine } = require('common-tags');
const { MersenneTwister19937, integer } = require('random-js');
const genders = ['man', 'woman'];
const { eyeColors, hairColors, hairStyles, extras } = require('../../assets/json/guess-looks');
const { LOVER_USER_ID } = process.env;
module.exports = class GuessLooksCommand extends Command {
constructor(client) {
super(client, {
name: 'guess-looks',
aliases: ['guess-my-looks'],
group: 'random-seed',
description: 'Guesses what a user looks like.',
args: [
{
key: 'user',
type: 'user',
default: msg => msg.author
}
]
});
}
run(msg, { user }) {
if (user.id === this.client.user.id) return msg.reply('Me? Just look at my avatar, dummy.');
const displayName = user.globalName || user.username;
const authorUser = user.id === msg.author.id;
if (this.client.isOwner(user)) {
if (authorUser) return msg.reply('You look amazing as always, cutie! ❤');
return msg.reply(`${displayName} looks like a monkey, and smells like one too.`);
}
if (user.id === LOVER_USER_ID) {
return msg.reply(`Know what perfection looks like? That's what ${displayName} looks like. ❤`);
}
const random = MersenneTwister19937.seed(user.id);
const gender = genders[integer(0, genders.length - 1)(random)];
const eyeColor = eyeColors[integer(0, eyeColors.length - 1)(random)];
const hairColor = hairColors[integer(0, hairColors.length - 1)(random)];
const hairStyle = hairStyles[integer(0, hairStyles.length - 1)(random)];
const age = integer(10, 100)(random);
const feet = integer(3, 7)(random);
const inches = integer(0, 11)(random);
const weight = integer(50, 300)(random);
const extra = extras[integer(0, extras.length - 1)(random)];
return msg.reply(oneLine`
I think ${authorUser ? 'you are' : `${displayName} is`} a ${age} year old ${gender} with ${eyeColor} eyes
and ${hairStyle} ${hairColor} hair. ${authorUser ? 'You are' : `${gender === 'man' ? 'He' : 'She'} is`}
${feet}'${inches}" and weigh${authorUser ? '' : 's'} ${weight} pounds. Don't forget the ${extra}!
`);
}
};