asjon/scripts/meteo.coffee

37 lines
1.3 KiB
CoffeeScript
Raw Normal View History

2015-04-25 18:37:13 +02:00
# Description:
# utilità per il meteo
#
# Dependencies:
2015-04-25 18:58:11 +02:00
# "moment":"2.10.2"
2015-04-25 18:37:13 +02:00
#
# Configuration:
# None
#
# Commands:
2015-04-25 18:59:22 +02:00
# hubot che tempo fa/c'è (a crema)? - guarda il cielo e risponde con informazioni sul meteo di crema
2015-04-25 18:37:13 +02:00
#
# Author:
# Enrico Fasoli (fazo96)
2015-04-25 18:58:11 +02:00
moment = require 'moment'
2015-04-25 18:37:13 +02:00
module.exports = (robot) ->
2015-04-28 19:52:29 +02:00
robot.respond /(?:che )?(?:tempo|meteo)(?: c'è| fa)?(?: a crema)?(?:\?)?/i, (res) ->
2015-04-25 18:58:11 +02:00
url = 'http://api.openweathermap.org/data/2.5/weather?id=3177841&lang=it&units=metric'
robot.http(url)
.get() (err, r, body) ->
2015-04-28 19:52:29 +02:00
if err
return res.send 'Errore nel guardare il cielo.\n'+err
2015-04-25 18:58:11 +02:00
try
body = JSON.parse body
catch e
2015-04-26 02:25:12 +02:00
return res.send 'Errore nel guardare il cielo.'
2015-04-28 19:52:29 +02:00
unless body?.sys? and body?.main? and body?.weather?.push?
return res.send 'Errore nel guardare il cielo.\n'+JSON.stringify(body)
2015-04-25 18:58:11 +02:00
alba = moment.unix(body.sys.sunrise).format('H:MM')
tramonto = moment.unix(body.sys.sunset).format('H:MM')
m = body.weather[0].description+' con '+body.main.humidity
2015-04-26 02:25:12 +02:00
m += '% di umidità. Temperatura: '+Math.round(body.main.temp)+'°C. '
2015-04-25 18:58:11 +02:00
m += "l'alba è alle "+alba+" mentre il tramonto alle "+tramonto
res.send 'Meteo per Crema: '+m+'.'