parent
39a06a6437
commit
9b30af2d7b
@ -7,7 +7,7 @@
|
||||
# Commands:
|
||||
# hubot interna <nome> - interna una persona
|
||||
# hubot libera <nome> - libera una persona
|
||||
# hubot lista/mostrami internati - mostra la lista di internati
|
||||
# hubot lista/mostrami (gli) internati - mostra la lista di internati
|
||||
#
|
||||
# Author:
|
||||
# Ravinder Pal Singh
|
||||
@ -16,36 +16,44 @@
|
||||
module.exports = (robot) ->
|
||||
robot.respond /interna (.+)/i, (res) ->
|
||||
mem = robot.brain.get('internati') or {}
|
||||
name = res.match[1].toLowerCase();
|
||||
exp1 = ['ho sbattuto dentro', 'come vuoi, sbattiamo dentro', 'è la tua fine'];
|
||||
name = res.match[1].toLowerCase()
|
||||
exp1 = ['ho sbattuto dentro', 'come vuoi, sbattiamo dentro', 'è la tua fine']
|
||||
if mem[name]?
|
||||
res.send 'Mi dispiace ma '+name+' è già stato internato...'
|
||||
if mem[name].da
|
||||
intern = mem[name].da.name
|
||||
res.send 'Mi dispiace ma '+name+' è già stato internato su ordine di '+intern
|
||||
else res.send 'Mi dispiace ma '+name+' è già stato internato...'
|
||||
else
|
||||
if name is 'dili' or name is 'diliberti'
|
||||
if name.match /(?:dili(?:bert(?:i)?)?)|(?:ros(?:y|ario))|dre/i
|
||||
# Diliberti
|
||||
res.send 'non posso internare il mio padrone...'
|
||||
else if name is 'fazo' or name is 'fasoli'
|
||||
else if name.match /fa(?:zo|soli)/i
|
||||
# Fasoli
|
||||
res.send 'ciccio, io internerei te al posto suo'
|
||||
else if name is 'assa' or name is 'asjon'
|
||||
else if name.match /as(?:sa|jon|sion(?:e|i))/i
|
||||
# Asjon
|
||||
res.send 'ma sei scemo????'
|
||||
else
|
||||
res.send res.random(exp1)+' '+name
|
||||
mem[name] = name
|
||||
# Salvo chi ha internato
|
||||
mem[name] = { da: res.message.user }
|
||||
console.log res.message.user, mem[name]
|
||||
robot.brain.set 'internati', mem
|
||||
|
||||
robot.respond /libera? (.+)/i, (res) ->
|
||||
robot.respond /libera (.+)/i, (res) ->
|
||||
mem = robot.brain.get('internati') or {}
|
||||
m = res.match[1].toLowerCase()
|
||||
boh = ['non so chi sia','sorry non è qui','troppo tardi','ti piacerebbe, eh?', 'scordatelo']
|
||||
boh = ['sorry non è qui','troppo tardi','ti piacerebbe, eh?', 'scordatelo']
|
||||
if mem[m]?
|
||||
res.send 'ho liberato "'+mem[m]+'" ma ricordate che potete sbatterlo dentro quando volete ;)'
|
||||
res.send 'ho liberato '+m+' ma ricordate che potete sbatterlo dentro quando volete ;)'
|
||||
delete mem[m]
|
||||
robot.brain.set 'internati', mem
|
||||
else res.send res.random boh
|
||||
|
||||
robot.respond /memory-dump/i, (res) ->
|
||||
robot.respond /internati-dump/i, (res) ->
|
||||
res.send JSON.stringify robot.brain.get('internati')
|
||||
|
||||
robot.respond /(?:mostrami )|(?:lista )?internati(?:\?)?/i, (res) ->
|
||||
robot.respond /(?:(?:(?:dimmi|mostrami) )|(?:lista ))?(?:gli )?internat(?:i|o)(?:\?)?/i, (res) ->
|
||||
m = robot.brain.get 'internati'
|
||||
if m isnt null
|
||||
r = ['ho internato', 'ho preso', 'ho catturato', 'sbattuto dentro']
|
||||
|
@ -19,6 +19,12 @@
|
||||
moment = require 'moment'
|
||||
moment.locale 'it'
|
||||
|
||||
dateFormatsA = ['YYYY-MM-DD','DD-MM-YYYY',"DD MMMM YYYY", "DD MMMM","DD"]
|
||||
|
||||
toDate = (d) ->
|
||||
dat = d.replace /(?:l'|il )/i, ''
|
||||
moment dat, dateFormatsA
|
||||
|
||||
module.exports = (robot) ->
|
||||
robot.respond /ricorda(?:ti)? (?:che )?(.+) ([=è]|sono) (.+)/i, (res) ->
|
||||
mem = robot.brain.get('memoria') or {}
|
||||
@ -63,10 +69,9 @@ module.exports = (robot) ->
|
||||
# non rispondo
|
||||
return
|
||||
# Controllo se l'argomento è data
|
||||
argIsDate = arg.trim().match(/^(?:il )?\d{4}-\d{1,2}-\d{1,2}$/i) and moment(arg,'YYYY-MM-DD').isValid()
|
||||
if argIsDate and (query is 'quand' or query is 'cos')
|
||||
data = toDate arg
|
||||
if data.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
|
||||
@ -76,11 +81,10 @@ module.exports = (robot) ->
|
||||
if query is 'qual' then verbo = 'è' else if !query? then verbo = 'sono'
|
||||
if mem[arg]
|
||||
# controllo se è salvata una data nell'argomento chiesto
|
||||
data = moment(mem[arg],'[il] YYYY-MM-DD')
|
||||
contentIsDate = mem[arg].trim().match(/^(?:il )?\d{4}-\d{1,2}-\d{1,2}$/i) and data.isValid()
|
||||
if contentIsDate
|
||||
odata = toDate mem[arg]
|
||||
if odata.isValid()
|
||||
# nella memoria era salvata una data
|
||||
res.send arg+' è '+data.format('dddd Do MMMM YYYY')+' ovvero '+data.fromNow()
|
||||
res.send arg+' è '+odata.format('dddd Do MMMM YYYY')+' ovvero '+odata.fromNow()
|
||||
else res.send arg+' '+verbo+' '+mem[arg]
|
||||
else res.send res.random ['boh','mistero','se qualcuno me lo spiegasse magari','BZBZ 404-NOT-FOUND']
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user