Another kind of "timer" would be to count down a certain amount of seconds. For example:
var
timer: integer;
procedure AppOnIdle(Ticks: integer);
begin
if timer > 0 then begin
timer := timer - 1;
if timer = 0 then
WriteLn('Woo yay 2 minutes has passed');
end;
end;
function OnCommand(ID: Byte; Text: string): boolean;
begin
if LowerCase(GetPiece(Text,' ',0)) = '/countdown' then
timer := 120;
end;