From 48fddcb1445f5f02a597bba76428d89b551efd88 Mon Sep 17 00:00:00 2001 From: Enrico Fasoli Date: Fri, 24 Apr 2015 09:18:49 +0200 Subject: [PATCH] nuova funzione: memoria --- .gitignore | 2 +- scripts/agenda.coffee | 4 ++-- scripts/circolari.coffee | 4 ++-- scripts/memoria.coffee | 20 ++++++++++++++++++++ scripts/misc.coffee | 21 ++++++++++++++++++++- 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 scripts/memoria.coffee diff --git a/.gitignore b/.gitignore index a0b333f..a7007b0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ node_modules hubot.lua .DS_Store* .hubot_history -circolari/ +circolari.json run.sh run_telegram.sh *.pub diff --git a/scripts/agenda.coffee b/scripts/agenda.coffee index 2e85847..4f286d5 100644 --- a/scripts/agenda.coffee +++ b/scripts/agenda.coffee @@ -40,7 +40,7 @@ cosaCePerIl = (day,res) -> else res.send "ecco cosa c'è per doma: "+data.join('; ') module.exports = (robot) -> - robot.hear /cosa c'è per domani?/i, (res) -> + robot.respond /cosa c'è per domani?/i, (res) -> cosaCePerIl moment().add(1, 'days').format('YYYY-MM-DD'), res - robot.hear /cosa c'è per il (\d+-\d+-\d+)/i, (res) -> + robot.respond /cosa c'è per il (\d+-\d+-\d+)/i, (res) -> cosaCePerIl res.match[1], res diff --git a/scripts/circolari.coffee b/scripts/circolari.coffee index f06c794..cef67ef 100644 --- a/scripts/circolari.coffee +++ b/scripts/circolari.coffee @@ -54,7 +54,7 @@ parseCircolari = (err,data,callback) -> parseHtml data, (err,res) -> #console.log("Done!") circolari = res - fs.writeFile 'circolari/circolari.json', JSON.stringify circolari + fs.writeFile 'circolari.json', JSON.stringify circolari callback circolari module.exports = (robot) -> @@ -62,7 +62,7 @@ module.exports = (robot) -> res.send 'controllo circolari...' fs.exists 'circolari/circolari.json', (jsonExists) -> if jsonExists - circolari = JSON.parse fs.readFileSync('circolari/circolari.json').toString() + circolari = JSON.parse fs.readFileSync('circolari.json').toString() res.send JSON.stringify circolari.slice 0,5 else fs.exists 'circolari.html', (htmlExists) -> diff --git a/scripts/memoria.coffee b/scripts/memoria.coffee new file mode 100644 index 0000000..05d89cd --- /dev/null +++ b/scripts/memoria.coffee @@ -0,0 +1,20 @@ +module.exports = (robot) -> + robot.respond /ricorda(?:ti)? (?:che )?(.+) [=è] (.+)/i, (res) -> + mem = robot.brain.get('memoria') or {} + name = res.match[1]; definition = res.match[2] + if mem[name]? + res.send 'pensavo che '+name+' fosse '+mem[name]+'. Mi ricorderò che invece è '+definition + else + res.send 'non sapevo che '+name+' fosse '+definition+'. Me lo ricorderò' + mem[name] = definition + robot.brain.set 'memoria', mem + robot.respond /(?:che )?cos(?:\')?è (.+)/i, (res) -> + mem = robot.brain.get('memoria') or {} + if mem[res.match[1]] + res.send res.match[1]+' è '+mem[res.match[1]] + else res.send 'boh' + robot.respond /memoria/i, (res) -> + m = JSON.stringify robot.brain.get 'memoria' + if m isnt 'null' + res.send m + else res.send 'non so niente...' diff --git a/scripts/misc.coffee b/scripts/misc.coffee index d1b5e28..72f0809 100644 --- a/scripts/misc.coffee +++ b/scripts/misc.coffee @@ -14,8 +14,27 @@ module.exports = (robot) -> robot.respond /grazie/i, grazie robot.respond /ringraziamenti/i, (res) -> res.send 'voi teneroni mi avete ringraziato ' + (robot.brain.get('ringraziato') or 0) + ' volte :)' - robot.respond /saluta (\w+)/i, (res) -> + robot.respond /saluta (.+)/i, (res) -> res.send 'ciao ' + res.match[1] + robot.respond /ricorda(?:ti)? (?:che )?(.+) [=è] (.+)/i, (res) -> + mem = robot.brain.get('memoria') or {} + name = res.match[1]; definition = res.match[2] + if mem[name]? + res.send 'pensavo che '+name+' fosse '+mem[name]+'. Mi ricorderò che invece è '+definition + else + res.send 'non sapevo che '+name+' fosse '+definition+'. Me lo ricorderò' + mem[name] = definition + robot.brain.set 'memoria', mem + robot.respond /(?:che )?cos(?:\')?è (.+)/i, (res) -> + mem = robot.brain.get('memoria') or {} + if mem[res.match[1]] + res.send res.match[1]+' è '+mem[res.match[1]] + else res.send 'boh' + robot.respond /memoria/i, (res) -> + m = JSON.stringify robot.brain.get 'memoria' + if m isnt 'null' + res.send m + else res.send 'non so niente...' robot.respond /dove sei/i, (res) -> robot.http('http://canihazip.com/s') .get() (err, r, body) ->