2012-06-25 9 views
13

Estoy pensando en hacer un notificador basado en el reloj Hubot (creo que "¡son las 5, es hora de irse a casa!" Pero menos molesto y por una razón diferente). ¿Cuál es la mejor manera de hacer algo como esto en un guión de Hubot?¿Quieres hablar con Hubot en un momento determinado?

[editar] Aquí hay un ejemplo usando 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 

dependencias:

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

"¡Son las 5 en punto, saque la máquina de margarita!" –

+0

¿Este código hace que cronJob se ejecute automáticamente cuando se lanza Hubot? – Hlung

+0

@Hlung sí, cuando se carga la secuencia de comandos. – wrtsprt

Respuesta

8

me gustaría utilizar nodo-cron. Es bastante flexible y se adapta bien a su caso de uso.

https://github.com/ncb000gt/node-cron

+0

Esto parece que ayudaría. Le daré un vistazo. – NickAldwin

+1

Esto funciona realmente bien. ¡Gracias un montón! – NickAldwin

+0

¿Lo hiciste funcionar? ¿Podría proporcionar una muestra? ¡Gracias! –

6

Me tropecé con hubot-cron.

Esto le permite programar mensajes en hubot, pero desafortunadamente no persiste en los trabajos a través de reinicios.

+5

Hola, escribí hubot-cron. Guarda sus trabajos en 'robot.brain', lo que significa que persiste en la reiniciación de los datos siempre que use un almacén de datos persistente como Redis. – miyagawa

Cuestiones relacionadas