让Hubot在特定时间谈话?

Nic*_*win 15 node.js coffeescript hubot

我正在考虑制作一个基于Hubot时钟的通知器(想想"它是5,回家的时间!"但不那么讨厌,并且出于不同的原因).在Hubot脚本中执行此类操作的最佳方法是什么?

[ edit ]以下是使用node-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
Run Code Online (Sandbox Code Playgroud)

依赖关系:

"cron": "0.3.3",
"time": "0.8.2"
Run Code Online (Sandbox Code Playgroud)

Swi*_*ift 10

我会使用node-cron.它非常灵活,非常适合您的使用案例.

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


wrt*_*prt 7

我偶然发现了hubot-cron.

这使您可以在hubot中安排邮件,但遗憾的是,不会通过重新启动来保留作业.

  • 嗨,我写了hubot-cron.它将您的作业保存在`robot.brain`中,这意味着只要您使用Redis等持久性数据存储,它就会通过重新启动来保留数据. (5认同)