Haha-Yes/commands/fun/weather.js

37 lines
No EOL
1.3 KiB
JavaScript

const { Command } = require('discord.js-commando');
const Discord = require('discord.js');
const snekfetch = require('snekfetch');
const { openweatherAPI } = require('../../config.json');
module.exports = class WeatherCommand extends Command {
constructor(client) {
super(client, {
name: 'weather',
group: 'fun',
memberName: 'weather',
description: `Choose the city you want to know the weather`,
args: [
{
key: 'city',
prompt: 'city',
type: 'string',
}
]
});
}
async run(message, { city }) {
const { body } = await snekfetch.get(`https://api.openweathermap.org/data/2.5/weather?q=${city}&units=metric&APPID=${openweatherAPI}`);
if (!body.main.temp) {
return message.say(`No results found for **${city}**`);
}
const weatherEmbed = new Discord.RichEmbed()
.setColor("#ff9900")
.setTitle(body.name + ' current weather')
.setDescription(body.main.temp + '°c')
.addField('Temp min', body.main.temp_min + '°c')
.addField('Temp max', body.main.temp_max + '°c')
message.say(weatherEmbed);
}
};