Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 让Hubot在某个时间说话?_Node.js_Coffeescript_Hubot - Fatal编程技术网

Node.js 让Hubot在某个时间说话?

Node.js 让Hubot在某个时间说话?,node.js,coffeescript,hubot,Node.js,Coffeescript,Hubot,我正在考虑制作一个基于Hubot时钟的通知程序(想想“现在是5点,该回家了!”但不那么烦人,原因也不一样)。在Hubot脚本中执行类似操作的最佳方式是什么 [编辑]下面是一个使用节点cron的示例: TIMEZONE = "America/New_York" QUITTING_TIME = '0 0 17 * * 2-6' # M-F 5pm ROOM = "Dev" cronJob = require('cron').CronJob module.exports = (robot) -&g

我正在考虑制作一个基于Hubot时钟的通知程序(想想“现在是5点,该回家了!”但不那么烦人,原因也不一样)。在Hubot脚本中执行类似操作的最佳方式是什么

[编辑]下面是一个使用节点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
依赖项:

"cron": "0.3.3",
"time": "0.8.2"

我将使用节点cron。它非常灵活,非常适合您的用例

我只是偶然发现了


这允许您在hubot中安排消息,但遗憾的是,无法通过重新启动来持久化作业。

这段代码是否使cronJob在hubot启动时自动运行?@Hlung是的,在加载脚本时。我遇到了messageRoom无法在cron作业回调中工作的奇怪问题。我最终使用了robot.send.Hi,我写了hubot cron。它将您的作业保存在robot.brain中,这意味着只要您使用诸如Redis之类的持久数据存储,它就会通过重启来持久化数据。