From 8f3da2fb221431dc8448d2cc00eb74c69ab9a581 Mon Sep 17 00:00:00 2001 From: Diwas Atreya <74746579+diwasatreya@users.noreply.github.com> Date: Sun, 25 Apr 2021 11:46:39 +0545 Subject: [PATCH] Create covid.js --- commands/help/covid.js | 62 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 commands/help/covid.js diff --git a/commands/help/covid.js b/commands/help/covid.js new file mode 100644 index 0000000..86c24a6 --- /dev/null +++ b/commands/help/covid.js @@ -0,0 +1,62 @@ +const fetch = require('node-fetch'); + +const Discord = require('discord.js'); + +module.exports = { + name: "covid", + category: "info", + description: "Track a country or worldwide COVID-19 cases", + + async run (client, message, args){ + + let countries = args.join(" "); + + //Credit to Sarastro#7725 for the command :) + + const noArgs = new Discord.MessageEmbed() + .setTitle('Missing arguments') + .setColor(0xFF0000) + .setDescription(' <:recluse1:827722928955195402> You are missing some args (eg: covid all || covid Canada)') + .setTimestamp() + + if(!args[0]) return message.channel.send(noArgs); + + if(args[0] === "all"){ + fetch(`https://covid19.mathdro.id/api`) + .then(response => response.json()) + .then(data => { + let confirmed = data.confirmed.value.toLocaleString() + let recovered = data.recovered.value.toLocaleString() + let deaths = data.deaths.value.toLocaleString() + + const embed = new Discord.MessageEmbed() + .setTitle(`Worldwide COVID-19 Stats 🌎`) + .setColor('RANDOM') + .addField('Confirmed Cases', confirmed) + .addField('Recovered', recovered) + .addField('Deaths', deaths) + + message.channel.send(embed) + }) + } else { + fetch(`https://covid19.mathdro.id/api/countries/${countries}`) + .then(response => response.json()) + .then(data => { + let confirmed = data.confirmed.value.toLocaleString() + let recovered = data.recovered.value.toLocaleString() + let deaths = data.deaths.value.toLocaleString() + + const embed = new Discord.MessageEmbed() + .setTitle(`COVID-19 Stats for **${countries}**`) + .setColor('RANDOM') + .addField('Confirmed Cases', confirmed) + .addField('Recovered', recovered) + .addField('Deaths', deaths) + + message.channel.send(embed) + }).catch(e => { + return message.channel.send('Invalid country provided') + }) + } + } +}