From 7abec91916dd290f6972539bc06e2db273a3886d Mon Sep 17 00:00:00 2001 From: Enrico Fasoli Date: Fri, 24 Apr 2015 12:02:14 +0200 Subject: [PATCH] aggiornamento al linguaggio naturale di memoria --- scripts/memoria.coffee | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/scripts/memoria.coffee b/scripts/memoria.coffee index d167dee..cc692e9 100644 --- a/scripts/memoria.coffee +++ b/scripts/memoria.coffee @@ -1,11 +1,12 @@ module.exports = (robot) -> - robot.respond /ricorda(?:ti)? (?:che )?(.+) [=è] (.+)/i, (res) -> + robot.respond /ricorda(?:ti)? (?:che )?(.+) ([=è]|sono) (.+)/i, (res) -> mem = robot.brain.get('memoria') or {} - name = res.match[1].toLowerCase(); definition = res.match[2] + name = res.match[1].toLowerCase(); definition = res.match[3] + r = if res.match[2] is 'sono' then 'fossero' else 'fosse' if mem[name]? - res.send 'pensavo che '+name+' fosse '+mem[name]+'. Mi ricorderò che invece è '+definition + res.send 'pensavo che '+name+' '+r+' '+mem[name]+'. Mi ricorderò che invece è '+definition else - res.send 'non sapevo che '+name+' fosse '+definition+'. Me lo ricorderò' + res.send 'non sapevo che '+name+' '+r+' '+definition+'. Me lo ricorderò' mem[name] = definition robot.brain.set 'memoria', mem robot.respond /dimentica(?:ti)? (.+)/i, (res) -> @@ -16,11 +17,13 @@ module.exports = (robot) -> delete mem[m] robot.brain.set 'memoria', mem # necessary? else res.send 'non so cosa sia' - robot.respond /(?:che )?cos(?:\')?è (.+)/i, (res) -> + robot.respond /(?:che )?((?:(?:(?:(?:cos|qual)\'è)|chi (?:sono|è)?))|(?:quali|cosa) sono) (.+)(?:\?)?/i, (res) -> mem = robot.brain.get('memoria') or {} - m = res.match[1].toLowerCase() - if mem[m] - res.send m+' è '+mem[m] + arg = (res.match[2] or res.match[1]).toLowerCase() + verbo = res.match[1].toLowerCase().split(/[' ]/i) + verbo = verbo[verbo.length-1] + if mem[arg] + res.send arg+' '+verbo+' '+mem[arg] else res.send 'boh' robot.respond /memoria/i, (res) -> m = JSON.stringify robot.brain.get 'memoria'