2015-01-28 07:16:17 +01:00
|
|
|
/**
|
|
|
|
* Module Name: weather
|
|
|
|
* Description: weather and ting
|
|
|
|
*/
|
|
|
|
var request = require('request'),
|
|
|
|
_ = require('underscore')._;
|
|
|
|
|
|
|
|
var weather = function(dbot) {
|
|
|
|
this.ApiRoot = 'http://api.openweathermap.org/data/2.5/';
|
|
|
|
this.commands = {
|
|
|
|
'~weather': function(event) {
|
|
|
|
var city = event.input[1];
|
|
|
|
|
|
|
|
request.get({
|
|
|
|
'url': this.ApiRoot + 'weather',
|
|
|
|
'qs': {
|
|
|
|
'q': city,
|
2015-11-17 19:52:49 +01:00
|
|
|
'units': 'metric',
|
|
|
|
'APPID': this.config.api_key
|
2015-01-28 07:16:17 +01:00
|
|
|
},
|
|
|
|
'json': true
|
|
|
|
}, function(err, response, body) {
|
|
|
|
if(!err && body && _.has(body, 'cod') && body.cod === 200) {
|
2015-02-17 01:23:51 +01:00
|
|
|
event.reply('['+(body.name ? body.name +', ':'')+body.sys.country+']' + ' Condition: ' + body.weather[0].description + ' | Temp: ' + Math.round(body.main.temp) + 'C/'+Math.round(body.main.temp* 9 / 5 + 32)+'F | Humidity: ' + body.main.humidity + '% | Wind Speed: ' + body.wind.speed + 'KM/H');
|
2015-01-28 07:16:17 +01:00
|
|
|
} else {
|
|
|
|
event.reply('There is no weather in ' + city);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
this.commands['~weather'].regex = [/^weather (.*)/, 2];
|
|
|
|
};
|
|
|
|
|
|
|
|
exports.fetch = function(dbot) {
|
|
|
|
return new weather(dbot);
|
|
|
|
};
|