Crontab like scheduling messages for Hubot
CoffeeScript
Latest commit 9c531ef Sep 22, 2015 @miyagawa Merge pull request #31 from ganta/escape-slack-mention
Don't want to notify nobody on `list jobs` command when the adapter type is Slack

README.md

hubot-cron

hubot-cron adds a cronjob system to hubot to schedule messages on a specific date and time.

Installation

Add hubot-cron to your package.json, run npm install and add hubot-cron to external-scripts.json.

Add hubot-cron to your package.json dependencies.

"dependencies": {
  "hubot-cron": ">= 0.1.0"
}

Add hubot-cron to external-scripts.json.

> cat external-scripts.json
> ["hubot-cron"]

If you want to specify timezones, you'll need to install the time module or place an entry for it in your package.json file.

npm install time

Usage

miyagawa> hubot new job 0 9 * * 1-5 "Good morning everyone!"
hubot> Job 12345 created

miyagawa> hubot list jobs
hubot> (list of jobs)

miyagawa> hubot rm job 12345
hubot> Job 12345 removed

miyagawa> hubot tz job 12345 America/Los_Angeles
hubot> Job 12345 updated to use America/Los_Angeles

You can use any node-cron compatible crontab format to schedule messages. Registered message will be sent to the same channel where you created a job.

To persist the cron job in the hubot restart, you're recommended to use redis to persist Hubot brain.

Timezones are specified in tzdata format.

See Also

reminder.coffee in hubot-scripts.