2012-06-25 5 views
13

Sto pensando di creare un notificatore basato su orologio Hubot (pensa "È 5, è ora di andare a casa!" Ma meno fastidioso e per un motivo diverso). Qual è il modo migliore per fare qualcosa di simile in uno script Hubot?Chiedi a Hubot di parlare ad una certa ora?

[modifica] Ecco un esempio di utilizzo del nodo-cron:

TIMEZONE = "America/New_York" 
QUITTING_TIME = '0 0 17 * * 2-6' # M-F 5pm 
ROOM = "Dev" 

cronJob = require('cron').CronJob 

module.exports = (robot) -> 
     gohome = new cronJob QUITTING_TIME, 
       -> 
         robot.messageRoom ROOM, "It's 5! Go home!" 
       null 
       true 
       TIMEZONE 

dipendenze:

"cron": "0.3.3", 
"time": "0.8.2" 
+3

"Sono le 5 in punto, estrai la macchina del margarita!" –

+0

questo codice fa eseguire automaticamente cronJob all'avvio di Hubot? – Hlung

+0

@Hlung sì, quando lo script è caricato. – wrtsprt

risposta

6

Ho appena imbattuto hubot-cron.

Ciò consente di pianificare i messaggi in hubot, ma sfortunatamente non persiste i lavori durante i riavvii.

+5

Ciao, ho scritto hubot-cron. Salva i tuoi lavori in 'robot.brain', il che significa che persiste i dati durante i riavvii, purché tu usi un archivio dati persistente come Redis. – miyagawa