Files
xiao/commands/random-res/guess-my-looks.js
T
Daniel Odendahl Jr 76111000b5 More stuff
2017-10-12 22:34:40 +00:00

46 lines
1.8 KiB
JavaScript

const { Command } = require('discord.js-commando');
const { oneLine } = require('common-tags');
const genders = ['male', 'female'];
const eyeColors = ['blue', 'brown', 'hazel', 'green', 'yellow'];
const hairColors = ['blonde', 'brown', 'red', 'black', 'grey', 'white'];
const hairStyles = ['curly', 'straight', 'wavy', 'long', 'shoulder-length', 'short', 'balding'];
const extras = ['freckles', 'glasses', 'dimples', 'contacts', 'loads of acne', 'pretty smile', 'braces'];
module.exports = class GuessMyLooksCommand extends Command {
constructor(client) {
super(client, {
name: 'guess-my-looks',
aliases: ['guess-looks'],
group: 'random-res',
memberName: 'guess-my-looks',
description: 'Guesses what you look like.',
args: [
{
key: 'user',
prompt: 'Which user do you want me to guess the looks of?',
type: 'user',
default: ''
}
]
});
}
run(msg, { user }) {
if (!user) user = msg.author;
const gender = genders[Math.floor(Math.random() * genders.length)];
const eyeColor = eyeColors[Math.floor(Math.random() * eyeColors.length)];
const hairColor = hairColors[Math.floor(Math.random() * hairColors.length)];
const hairStyle = hairStyles[Math.floor(Math.random() * hairStyles.length)];
const age = Math.floor(Math.random() * (100 - 10 + 1)) + 10;
const feet = Math.floor(Math.random() * (7 - 3 + 1)) + 3;
const inches = Math.floor(Math.random() * 12);
const weight = Math.floor(Math.random() * (300 - 50 + 1)) + 50;
const extra = extras[Math.floor(Math.random() * extras.length)];
const prefix = user.id === msg.author.id ? 'You' : 'They';
return msg.reply(oneLine`
${prefix} are, I think, a ${age} year old ${gender} with ${eyeColor} eyes and ${hairStyle}
${hairColor} hair. ${prefix} are ${feet}'${inches}" and weigh ${weight} pounds. Don't forget the ${extra}!
`);
}
};