strawpoll creation command

This commit is contained in:
loicbersier 2019-06-28 19:19:08 +02:00
parent e9f73ab462
commit 2cf6b30a78

View file

@ -0,0 +1,63 @@
const { Command } = require('discord-akairo');
const fetch = require('node-fetch');
class SayCommand extends Command {
constructor() {
super('strawpoll', {
aliases: ['strawpoll', 'poll'],
category: 'general',
args: [
{
id: 'title',
type: 'string',
prompt: {
start: 'What should the title of the poll be?',
},
},
{
id: 'options',
type: 'string',
prompt: {
start: 'What the options should be?',
},
match: 'rest'
},
{
id: 'multi',
match: 'flag',
flag: '--multi'
}
],
description: {
content: 'Simply create strawpoll ( use | to separate the options )',
usage: '[title] [options]',
examples: ['"am i cool?" hell yea | nah | you suck!']
}
});
}
async exec(message, args) {
let options = args.options.trim().split('|');
let request = {
'title': args.title,
'options': options,
'multi': args.multi
};
console.log(JSON.stringify(request));
fetch('https://www.strawpoll.me/api/v2/polls', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(request),
}).then((response) => {
return response.json();
}).then((response) => {
return message.channel.send(` Your strawpoll is ready! https://www.strawpoll.me/${response.id}`);
});
}
}
module.exports = SayCommand;