Files
xiao/commands/random-res/name.js
T
Daniel Odendahl Jr 401fa04f5e Fix this
2017-08-16 16:40:10 +00:00

42 lines
1.5 KiB
JavaScript

const Command = require('../../structures/Command');
const { last, male, female } = require('../../assets/json/name');
module.exports = class RandomNameCommand extends Command {
constructor(client) {
super(client, {
name: 'name',
group: 'random-res',
memberName: 'name',
description: 'Responds with a random name, with the gender of your choice.',
args: [
{
key: 'gender',
prompt: 'Which gender do you want to generate a name for?',
type: 'string',
default: 'both',
validate: gender => {
if (['male', 'female', 'both'].includes(gender.toLowerCase())) return true;
return 'Please enter either male, female, or both.';
},
parse: gender => gender.toLowerCase()
}
]
});
}
run(msg, args) { // eslint-disable-line consistent-return
const { gender } = args;
const lastName = last[Math.floor(Math.random() * last.length)];
if (gender === 'male') {
return msg.say(`${male[Math.floor(Math.random() * male.length)]} ${lastName}`);
} else if (gender === 'female') {
return msg.say(`${female[Math.floor(Math.random() * female.length)]} ${lastName}`);
} else if (gender === 'both') {
const genders = ['male', 'female'];
const rGender = genders[Math.floor(Math.random() * genders.length)];
if (rGender === 'male') return msg.say(`${male[Math.floor(Math.random() * male.length)]} ${lastName}`);
else if (rGender === 'female') return msg.say(`${female[Math.floor(Math.random() * female.length)]} ${lastName}`);
}
}
};