/* Do not remove the headers from this file! see /USAGE for more info. */
/*
** timer.c
**
** Simple interface to the timer daemon
**
** 04-Feb-95. Deathblade. Created.
*/
//:COMMAND
//$$ see: channels, chan
//USAGE: timer [-r] number [string number]
//
//Starts a timer for some number of seconds (given by the first number).
//Only one timer is allowed per person (at the moment, simply due to
//implementation decisions).
//
//If -r is provided, the timer will repeat until stopped.
//
//If a string and number is given, then this is for displaying
//the timer notifications over a channel (rather than just to you).
//The number specifies how often a notice should be given. The
//channel name should be the internal channel name or a player
//channel name (plyr_XXX provided by the "chan" command).
//
//The timer may be stopped by passing 0 for the timer (e.g. "timer 0").
//
//Examples:
//> timer 600 clock 60 -- 10 minute timer, notify on "clock" channel
// every minute
//> timer -r 300 -- repeating 5 minute timer; notifies you
// directly.
//> timer 30 wiz_wiz 5 -- 30 second timer, notifying every 5 seconds
// on the wizard channel
inherit CMD;
private void main(mixed * args, mapping flags)
{
string channel_name;
channel_name = args[1];
if ( channel_name )
{
string user_name = CHANNEL_D->user_channel_name(channel_name);
if ( channel_name == user_name )
channel_name = "plyr_" + channel_name;
}
out(TIMER_D->add_timer(args[0], flags["r"], channel_name, args[2]));
}