nuove funzioni per gestione delle date anche nella memoria
This commit is contained in:
parent
59be447685
commit
e80b2b864e
@ -39,6 +39,7 @@ cosaCePerIl = (day,res) ->
|
||||
res.send "non c'è niente segnato sull'agenda per il "+day
|
||||
else
|
||||
res.send "ecco cosa c'è per doma: "+data.join('; ')
|
||||
|
||||
module.exports = (robot) ->
|
||||
robot.respond /cosa c'è per domani?/i, (res) ->
|
||||
cosaCePerIl moment().add(1, 'days').format('YYYY-MM-DD'), res
|
||||
|
@ -1,3 +1,6 @@
|
||||
moment = require 'moment'
|
||||
moment.locale 'it'
|
||||
|
||||
module.exports = (robot) ->
|
||||
robot.respond /ricorda(?:ti)? (?:che )?(.+) ([=è]|sono) (.+)/i, (res) ->
|
||||
mem = robot.brain.get('memoria') or {}
|
||||
@ -9,25 +12,46 @@ module.exports = (robot) ->
|
||||
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) ->
|
||||
mem = robot.brain.get('memoria') or {}
|
||||
m = res.match[1].toLowerCase()
|
||||
nonso = ['non so cosa sia','BZBZ 404-NOT-FOUND','non mi fa ne caldo ne freddo','se sapessi cos\'è magari']
|
||||
if mem[m]?
|
||||
res.send 'cancellazione neuronale in corso...'
|
||||
delete mem[m]
|
||||
robot.brain.set 'memoria', mem # necessary?
|
||||
else res.send 'non so cosa sia'
|
||||
robot.respond /(?:che )?((?:(?:(?:(?:cos|qual)\'è)|chi (?:sono|è)?))|(?:quali|cosa) sono) ([\w ]+)(?:\?)?/i, (res) ->
|
||||
mem = robot.brain.get('memoria') or {}
|
||||
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|a cosa stai pensando(?:\?)?/i, (res) ->
|
||||
else res.send res.random nonso
|
||||
|
||||
robot.respond /(?:che )?(?:(?:(?:(?:(cos|qual|quand)\'è)|(?:chi (sono|è)?)))|(?:quali|cosa) sono) ([\w- ]+)(?:\?)?/i, (res) ->
|
||||
query = undefined
|
||||
# Estrazione query (quand,cos,qual,chi...)
|
||||
if res.match[2] then query = res.match[2] or res.match[1]
|
||||
else if res.match[3] and res.match[1] then query = res.match[1]
|
||||
# Estrazione argomento della query
|
||||
arg = (res.match[3] or res.match[2] or res.match[1]).toLowerCase()
|
||||
# Controllo data
|
||||
if moment(arg,'YYYY-MM-DD').isValid() and (query is 'quand' or query is 'cos')
|
||||
# chiesto una data
|
||||
data = moment(arg,'[il] YYYY-MM-DD')
|
||||
res.send arg+' è '+data.format('dddd Do MMMM YYYY')+' ovvero '+data.fromNow()
|
||||
else
|
||||
# chiesto qualcosa che non è una data
|
||||
mem = robot.brain.get('memoria') or {}
|
||||
verbo = query.toLowerCase().split(/[' ]/i)
|
||||
verbo = verbo[verbo.length-1]
|
||||
if mem[arg]
|
||||
# controllo se è salvata una data nell'argomento chiesto
|
||||
data = moment(mem[arg],'[il] YYYY-MM-DD')
|
||||
if data.isValid()
|
||||
# nella memoria era salvata una data
|
||||
res.send arg+' è '+data.format('dddd Do MMMM YYYY')+' ovvero '+data.fromNow()
|
||||
else res.send arg+' '+verbo+' '+mem[arg]
|
||||
else res.send res.random ['boh','mistero','se qualcuno me lo spiega magari','BZBZ 404-NOT-FOUND']
|
||||
|
||||
robot.respond /(?:mostrami la tua )?memoria|a cosa stai pensando(?:\?)?/i, (res) ->
|
||||
m = robot.brain.get 'memoria'
|
||||
if m isnt null
|
||||
r = ['ho studiato', 'ho imparato', 'ho appreso', 'sono venuto a conoscenza di']
|
||||
res.send 'nel corso della mia vita '+res.random(r)+' '+(i for i of m).join(', ')
|
||||
else res.send 'non so niente...'
|
||||
else res.send res.random ['non so niente...', 'ignoranza proprio']
|
||||
|
7
scripts/tempo.coffee
Normal file
7
scripts/tempo.coffee
Normal file
@ -0,0 +1,7 @@
|
||||
moment = require 'moment'
|
||||
moment.locale 'it'
|
||||
|
||||
module.exports = (robot) ->
|
||||
robot.respond /quanto manca (?:al)? (\d+-\d+-\d+)(?:\?)?/, (res) ->
|
||||
m = moment(res.match[1],'YYYY-MM-DD').fromNow()
|
||||
res.send 'il '+res.match[1]+' è '+m
|
5
scripts/time.coffee
Normal file
5
scripts/time.coffee
Normal file
@ -0,0 +1,5 @@
|
||||
moment = require 'moment'
|
||||
|
||||
module.exports = (robot) ->
|
||||
robot.respond /che ore sono(?:\?)?/i, (res) ->
|
||||
res.send moment().format('dddd Do MMMM YYYY H:MM:SS')
|
Loading…
Reference in New Issue
Block a user