mirror of
https://github.com/reality/dbot.git
synced 2024-12-11 21:39:37 +01:00
.. | ||
README.md | ||
timers.js |
Timers
Timers for fun and profit.
Description
This is a utility module which allows other modules to more easily use timers to execute functionality, as well as providing simple cron-type functionality for timers.
API
addTimer(interval, callback, [firstDate])
Execute the given callback every time interval (in ms) passes.
The firstDate parameter is a Date object used to sync a timer to a given point in time, allowing for cron-type functionality. For example, if you wanted to call a given function every day at 00:00, you would do the following:
dbot.api.timers.addTimer(myCallback, 86400000, new Date([midnight tonight]));
This works like so:
- Create a one-time timeout to be executed at the given firstDate (00:00, as above).
- Upon this timeout, your callback is executed. Then addTimer is called again without the firstDate parameter, thus syncing a daily timer to be executed every day at 00:00.
The best place to create timers is in your module’s onLoad function. Using this, you may essentially create persistent jobs to be run at regular intervals while your module is loaded..