Sure, that's no problem. Something along these lines ought to work: on('chat:message', function(msg) { if (msg.type == 'api' && msg.content.indexOf('!timer') == 0) { var parts = msg.content.split(' '); if (parts.length > 1) { var start = parseInt(parts[1]); var timer = setInterval(function() { start--; if (start == 0) { sendChat('TIMER', 'Beeeep!'); clearInterval(timer); } else if (start % 5 == 0) { sendChat('TIMER', start + ' seconds remaining!'); } }, 1000); } } }); This one's pretty simple, simply posting messages to the chat window every five seconds. You could get fancy by using an image on the board of a clock or something, or setting it up to sensibly handle multiple timers at once.