Files
xiao/commands/text-edit/yoda.js
T
Daniel Odendahl Jr 1c9ac56831 Change arg assignment
2017-09-16 01:44:44 +00:00

40 lines
1.1 KiB
JavaScript

const Command = require('../../structures/Command');
const snekfetch = require('snekfetch');
const { MASHAPE_KEY } = process.env;
module.exports = class YodaCommand extends Command {
constructor(client) {
super(client, {
name: 'yoda',
aliases: ['yoda-speak'],
group: 'text-edit',
memberName: 'yoda',
description: 'Converts text to Yoda speak.',
args: [
{
key: 'sentence',
prompt: 'What sentence would you like to convert to Yoda speak?',
type: 'string',
validate: sentence => {
if (sentence.length < 500) return true;
return 'Invalid sentence, please keep the sentence under 500 characters.';
}
}
]
});
}
async run(msg, { sentence }) {
try {
const { text } = await snekfetch
.get('https://yoda.p.mashape.com/yoda')
.query({ sentence })
.set({ 'X-Mashape-Key': MASHAPE_KEY });
if (!text) return msg.say('Empty, this message is. Try again later, you must.');
return msg.say(text);
} catch (err) {
return msg.say(`Being a jerk again, Yoda is: \`${err.message}\`. Try again later, you must.`);
}
}
};