Abheek Dhawan
3 years ago
1 changed files with 35 additions and 0 deletions
@ -0,0 +1,35 @@ |
|||
const axios = require('axios'); |
|||
const { MessageEmbed } = require('discord.js'); |
|||
const decode = require('html-entities').decode; |
|||
|
|||
const { testingGuild } = require('../helpers/env'); |
|||
module.exports = { |
|||
name: 'messageCreate', |
|||
once: false, |
|||
async execute(message) { |
|||
if (message.author.bot || message.guild.id != testingGuild) return; |
|||
|
|||
if (message.content.startsWith('!q')) { |
|||
const questionId = message.content.split(' ')[1]; |
|||
axios |
|||
.get(`https://scibowldb.com/api/questions/${questionId}`) |
|||
.then((res) => { |
|||
const data = res.data.question; |
|||
const tossupQuestion = data.tossup_question; |
|||
const tossupAnswer = data.tossup_answer; |
|||
const answers = tossupAnswer.split(' (ACCEPT: '); |
|||
if (answers.length > 1) { |
|||
answers[1] = answers[1].slice(0, answers[1].length - 1); // If there are multiple elements, it means there was an 'accept' and therefore a trailing ')' which should be removed
|
|||
answers[1] = answers[1].split(new RegExp(' OR ', 'i')); // Ignore case using the 'i' flag in regex
|
|||
} |
|||
const dataEmbed = new MessageEmbed() |
|||
.setTitle('Data') |
|||
.setDescription(`\`\`\`json\n${JSON.stringify(data, null, 2)}\`\`\``); |
|||
message.reply({ |
|||
content: decode(tossupQuestion) + `\n\nAnswers: [${answers}]`, |
|||
embeds: [dataEmbed], |
|||
}); |
|||
}); |
|||
} |
|||
}, |
|||
}; |
Loading…
Reference in new issue