fix #16 e rappresentazione date in 'memoria'

This commit is contained in:
Enrico Fasoli 2015-04-27 14:23:07 +02:00
parent a9acce43b2
commit c7c168ce8d

View File

@ -26,7 +26,7 @@ toDate = (d) ->
moment dat, dateFormatsA
module.exports = (robot) ->
robot.respond /ricorda(?:ti)? (?:che )?(.+) ([=è]|sono) (.+)/i, (res) ->
robot.respond /ricorda(?:ti)? (?:che )?(.+?) ([=è]|sono) (.+)/i, (res) ->
mem = robot.brain.get('memoria') or {}
name = res.match[1].toLowerCase().replace('?',''); definition = res.match[3].replace('?','')
r = if res.match[2] is 'sono' then 'fossero' else 'fosse'
@ -64,13 +64,13 @@ module.exports = (robot) ->
# Estrazione argomento della query
arg = (res.match[3] or res.match[2] or res.match[1]).toLowerCase().replace('?','')
# Se l'argomento è una richiesta di circolari skippo
console.log query, arg
# console.log query, arg
if arg.match /^le (?:ultime )?(?:\d+ )?circolari(?:\?)?$/i
# non rispondo
return
# Controllo se l'argomento è data
data = toDate arg
if data.isValid() and (query is 'quand' or query is 'cos')
if data.isValid() and arg.match(/^(il |l')/i) and (query is 'quand' or query is 'cos')
# chiesto una data
res.send arg+' è '+data.format('dddd Do MMMM YYYY')+' ovvero '+data.fromNow()
else
@ -82,7 +82,7 @@ module.exports = (robot) ->
if mem[arg]
# controllo se è salvata una data nell'argomento chiesto
odata = toDate mem[arg]
if odata.isValid()
if odata.isValid() and mem[arg].match(/^(il |l')/i) and query is 'quand'
# nella memoria era salvata una data
res.send arg+' è '+odata.format('dddd Do MMMM YYYY')+' ovvero '+odata.fromNow()
else res.send arg+' '+verbo+' '+mem[arg]