Files
xiao/commands/response/name.js
T
Daniel Odendahl Jr 49fac232b4 Whoops
2017-04-20 22:14:44 +00:00

48 lines
1.8 KiB
JavaScript

const { Command } = require('discord.js-commando');
const { lastNames, maleNames, femaleNames } = require('./names.json');
module.exports = class RandomNameCommand extends Command {
constructor(client) {
super(client, {
name: 'name',
aliases: [
'namegen',
'randomname'
],
group: 'response',
memberName: 'name',
description: 'Generates a random name (x;name Male)',
examples: ['x;name', 'x;name male', 'x;name female'],
args: [{
key: 'gender',
prompt: 'Which gender do you want to generate a name for?',
type: 'string',
validate: gender => {
if (gender.toLowerCase() === 'male' || gender.toLowerCase() === 'female') {
return true;
}
return 'Please enter either `male` or `female`.';
},
parse: text => {
return text.toLowerCase();
}
}]
});
}
run(message, args) {
if (message.channel.type !== 'dm') {
if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return;
}
const { gender } = args;
const lastName = lastNames[Math.floor(Math.random() * lastNames.length)];
if (gender === 'male') {
const name = maleNames[Math.floor(Math.random() * maleNames.length)];
return message.say(`${name} ${lastName}`);
} else if (gender === 'female') {
const name = femaleNames[Math.floor(Math.random() * femaleNames.length)];
return message.say(`${name} ${lastName}`);
}
}
};