Files
xiao/commands/text-edit/yoda.js
T
Daniel Odendahl Jr eac9f9bf10 Catch Yoda Error
2017-08-20 20:59:45 +00:00

40 lines
1017 B
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 text would you like to convert to Yoda speak?',
type: 'string',
validate: sentence => {
if (sentence.length < 500) return true;
return 'Text must be under 500 characters.';
}
}
]
});
}
async run(msg, args) {
const { sentence } = args;
try {
const { text } = await snekfetch
.get('https://yoda.p.mashape.com/yoda')
.query({ sentence })
.set({ 'X-Mashape-Key': MASHAPE_KEY });
return msg.say(text);
} catch (err) {
return msg.say(`Oh no, Yoda's being a jerk and not working again: \`${err.message}\`. Try again later!`);
}
}
};