diff --git a/scripts/memoria.coffee b/scripts/memoria.coffee index 8747edb..b6b5cb5 100644 --- a/scripts/memoria.coffee +++ b/scripts/memoria.coffee @@ -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]