From 863989531d0c66aee6343134e4cf1f76a528bca7 Mon Sep 17 00:00:00 2001 From: rhearmas <34490428+qu-ota@users.noreply.github.com> Date: Sat, 21 Dec 2019 16:09:17 -0500 Subject: [PATCH] timezone conversion --- commands/Utility/timezone.js | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 commands/Utility/timezone.js diff --git a/commands/Utility/timezone.js b/commands/Utility/timezone.js new file mode 100644 index 0000000..ac6f142 --- /dev/null +++ b/commands/Utility/timezone.js @@ -0,0 +1,64 @@ +const got = require('got'); + +exports.run = async (client, message, args, level) => { + if (!args[0]) { + (await message.reply("you must specify a time to convert!")).delete(5000); + message.delete(); + return; + } + + let input = args.join(' '); + let url = `https://api.duckduckgo.com/?q=${encodeURIComponent(input)}&format=json`; + + let msg = await message.channel.send(':arrows_counterclockwise: **Loading conversion...**'); + + const res = await got(url, { json: true }); + + if (!res || !res.body) { + (await msg.edit(`${message.author}, I couldn't load data from DDG.`)).delete(5000); + } + + let data = res.body; + + let answer = data['Answer']; + let response; + + if (data['AnswerType'] === 'timezone_converter') { + message.delete(); + + let matches = input.match(/(.*?)\s*(to|in)\s*(.*)/); + let prefix; + + if (matches) { + prefix = matches[1]; + } else { + prefix = input; + } + + response = client.embed('', '', [ + { + name: 'Timezone:', + value: `${prefix} \u2794 ${answer}` + } + ]); + + msg.edit({ embed: response }); + } else { + (await msg.edit(`I couldn't find a conversion for \`${input}\`.`)).delete(5000); + return; + } +}; + +exports.conf = { + enabled: true, + guildOnly: false, + aliases: [], + permLevel: "User" +}; + +exports.help = { + name: "timezone", + category: "Utility", + description: "Converts between timezones using DuckDuckGo.", + usage: "timezone