If you ever want to run a piece of code on a timed interval, or want to wait a few seconds, you don't have to rely on timing tricks, as Hilbish has a timer API to set intervals and timeouts. These are the simple functions `hilbish.interval` and `hilbish.timeout` (doc accessible with `doc hilbish`). But if you want slightly more control over them, there is the `hilbish.timers` interface. It allows you to get a timer via ID. # Timer Interface ## Functions - `get(id)` -> timer: get a timer via its id - `create(type, ms, callback)` -> timer: creates a timer, adding it to the timer pool. `type` is the type of timer it will be. 0 is an interval, 1 is a timeout. `ms` is the time it will run for in seconds. callback is the function called when the timer is triggered. # Timer Object All those previously mentioned functions return a `timer` object, to which you can stop and start a timer again. An example of usage: local t = hilbish.timers.create(1, 5000, function() print 'hello!' end) t:stop() print(t.running, t.duration, t.type) t:start() ## Properties - `duration`: amount of time the timer runs for in milliseconds - `running`: whether the timer is running or not - `type`: the type of timer (0 is interval, 1 is timeout) ## Functions - `stop()`: stops the timer. returns an error if it's already stopped - `start()`: starts the timer. returns an error if it's already started