Please read the ENTIRE document before using the bot, there are a number of 'gotchas'. [] denotes an optional command. []|[] denotes that at least one must be used. (bleh|blah) denotes that one must be used. Note: When the bot asks you for a reason it need to be given in the following format: [action][time]|[reason] Gecos bans are being added at present. It handles netsplits as well as it can, reusing known data. Commands: !info (index|#channel[ banMask]|nick) Returns all active (inactive too, for index) bans for the object, some also provide statistics. !check #channel (nick|fullMask) Returns all active bans on the #channel that match the user either by nick or full mask (nick will use the bot's internal list) !pending (#channel|nick) Returns all bans that are both active and uncommented for/on the target. !expired #channel Returns all bans that are active and expired. !set index [time]|[reason] Sets the ban expire time and/or the reason for tha ban by index. !config #channel name value|CLEAR Sets the variable name in #channel's config to value or removes the setting is CLEAR is used. Settings: Name = Default Description. enabled = 0 0 -> Ban tracking is disabled. 1 -> Ban tracking is enabled. report = null The #channel/user to report to. ops = 0 If the bot should keep +o once it has gained it. admins = ^$ A regex string which defines who can change the config and modify bans other than their own. frequency = 600 How often the bot will nag to unban an expired ban, in seconds. bantime = #~30m The time string to use for every ban dircbot sees until it is changed. IT MUST CONTAIN ONE OF THE ACTION CHARS. format.info.set = Ban[$index] $mask is active and was set in $channel by $setter on $setdate with reason "$reason". It affected $affected and is due to expire on $expiredate. Used to show information about current bans. format.info.notset = Ban[$index] $mask was set in $channel by $setter on $setdate with reason "$reason". It affected $affected and expired on $expiredate. It was removed by $unbanner on $unbandate Used to show information about removed bans. format.expired = Ban[$index] $mask in $channel set by $setter on $setdate for "$reason" which affected $affected has expired. ($expiredate) Used to nag about expired bans. format.matched User $user who just joined $channel matches the following set ban(s): format.removed = format.removed=Ban[$index] $mask in $channel set by $setter on $setdate for "$reason" which affected $affected has been removed. It expired on $expiredate. It was removed by $unbanner Used to inform about bans being removed. format.permission = You do not have permission to do that. Used to inform the user that they do not have permission to do that. format.nobans = No matching bans were found. Used to inform the user that no matching bans were found. format.index = Invalid index. Used to inform the users that the index provided is not valid. format.see = I cannot see that user, consider using a full mask. Used to warn that the bot cannot see the user when using !check. format.notin = I am not in the channel. Used to warn that the bot is not on a channel when using !check. format.chanserv = Ban[$index] $mask in $channel was added and commented by ChanServ "$reason". Used when an autorem is triggered. format.done = Done. Used to confirm a command. format.complete = All your bans are now commented. Used to show that the user is done commenting bans. format.count = You currently have $count bans to comment. Used to show that the user has some bans to comment. format.none = You have no bans to comment. Used to show that the user has no bans and the command wasn't recognised.. Time: Time should be given in the following format: ~1h THE ~ IS IMPORTANT. For 1 hour from now. ~4h1m4s For 4 hours, 1 minute and 4 seconds from now. d -> day h -> hour m -> minute s -> second Action: Action is either # or @ or % # == Nag when expired. @ == Remove if the bot has ops, else nag. % == Try to gain ops to remove the ban, will also deop if 'ops' is not set to '1', *WILL NOT NAG*. Format variables: $sender.nick The nick of the user who used the command. $sender.ident The ident of the user who used the command. $sender.host The host of the user who used the command. $sender The mask of the user who used the command. (Same as $sender.nick!$sender.ident@$sender.mask) $index The global index of the ban. $mask The ban mask. $setter.nick The nick of the user who set the ban. $setter.ident The ident of the user who set the ban. $setter.host The host of the user who set the ban. $setter The mask of the user who set the ban. (Same as $setter.nick!$setter.ident@$setter.mask) $setdate The date that the ban was set. $setdate.year The year when the ban was set. $setdate.month The month when the ban was set. $setdate.day The day when the ban was set. $setdate.hour The hour when the ban was set. $setdate.minute The minute when the ban was set. $setdate.second The second when the ban was set. $unbanDate The date when the ban was removed. $channel The channel where the ban was set. $reason The reason given for the ban. $affected The full masks of everyone that the ban affected when it was set. $affected.nicks The nicks of everyone that the ban affected when it was set. $expiredate The date when the ban is to expire. $expiredate.year The year when the ban is to expire. $expiredate.month The month when the ban is to expire. $expiredate.day The day when the ban is to expire. $expiredate.hour The hour when the ban is to expire. $expiredate.minute The minute when the ban is to expire. $expiredate.second The second when the ban is to expire. $unbanner.nick The nick of the user who removed the ban. $unbanner.ident The ident of the user who removed the ban. $unbanner.host The host of the user who removed the ban. $unbanner The mask of the user who removed the ban. (Same as unbanner.nick!$unbannerr.ident@$unbanner.mask) $unbandate The date when the ban was removed. $unbandate.year The year when the ban was removed. $unbandate.month The month when the ban was removed. $unbandate.day The day when the ban was removed. $unbandate.hour The hour when the ban was removed. $unbandate.minute The minute when the ban was removed. $unbandate.second The second when the ban was removed. $count The number of times the ban has been nagged. $user The mask of the user who joined. (Same as $user.nick!$user.ident@$user.mask) $user.nick The nick of the user who joined. $user.ident The ident of the user who joined. $user.host The host of the user who joined. $match The mask that matched.