Channel Bot Commands CP- [- #Cripperz.ProdigY -]

Reminder:
Once added please set your own password , /msg CP- PASS <your chosen password> . You must login and please do logout before quiting irc. The Bot will recognise your IDENT ( my-ident-here@bb-203-124-124-88.singnet.com.sg ) So please use a fixed ident before getting added. Msg N0DE or any Chan Master user to get added to the bot. Thank You.

Core Commands -

Login To Bot - /msg CP- login <Your Password>

OP - /msg CP- op #cripperz.prodigy me


CP- BoT Command Reference
==========================
Version: 11/10/03 20:38:39
==========================

Category: Level 1000 / Permanent Bot Owner
======================================================================

Category: Level 999 / Executive Council
======================================================================
Command: Autostart (AS)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- autostart [add | del | list | alias | time | clear | force]
tells the bot what other bots to start when this bot is restarted, in case of a shell failure. 
the script will check to see if the bot is running (with the given config file) before trying to start, based on the *nix "ps" command. this will =not= work on a windrop [the command =will= fail]. currently, there are no plans to write support for windrop's "ps.exe" command since that would require special dll communication pathways. 
you can also check if the bot is running under an alias command [e.g.: "./eggy" instead of "./eggdrop"]. additionally, you can add multiple aliases, if needed. 
lastly, this command is bound =501 [global trainees and above], but only the list command is available to them; all other options are bound [via coding] to =999 [executive council] 
CP- autostart clear 
clear the list of bots to autostart 
CP- autostart add bot1,bot2,bot3,bot4 bot5 bot6,bot7 bot8, bot9,,,, bot10 bot11 
this will add bot1 - bot11 to the autostart list [commas are eliminated during pre-processing] 
CP- autostart del bot* 
this will delete any bot in the list that matches the wildcard 
CP- autostart alias ./eggy 
this allows autostart to check for "./eggy" as a valid start-up for a bot 
CP- autostart time 5 
this will make autostart check on your bots every 5 minutes 
CP- autostart force 
this will make autostart trigger the restart sequence immediately 
CP- autostart list 
this will show you, in condensed format, what all its parameters are. 
advice : only use this command on one bot per account/shell. 
----------------------------------------------------------------------


Category: Level 900 / Global Owner
======================================================================
Command: Die
Usage: (/msg) CP- die
kills the bot (the bot need to be started again from the shell).
----------------------------------------------------------------------

Command: Timezone
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- timezone <+/- # of hours | list>
sets what gmt offset the bot is running from. list, as a offset, will show you the current offset.
----------------------------------------------------------------------

Command: CmdLevel
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- cmdlevel <args>
CP- cmdlevel help 
(this help menu) 
CP- cmdlevel list <command | command name wildcard | #ul range> [short] 
(list commands by category) 
CP- cmdlevel chg <command> <newlevel> 
(set a command to a new access level) 
CP- cmdlevel del <command> 
(reset a command to its original access level) 
CP- cmdlevel clear clear [clear | def[ault] | hard] 
(lets you reset all the commands to their original levels)
----------------------------------------------------------------------


Category: Level 800 / Global Master
======================================================================
Command: Join
Usage: (/msg) CP- join <#channel> 
the bot will join a channel. 
----------------------------------------------------------------------

Command: Part (RemChan)
Usage: (/msg) CP- part <#channel> 
the bot will part a channel. 
----------------------------------------------------------------------

Command: Forcelog (flog)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- forcelog <nick> 
the bot will log-out <nick> from the bot.
----------------------------------------------------------------------

Command: Suspendchan (schan)
Usage: (/msg) CP- suspendchan <list | clear | channel> [reason]
(/msg) CP- schan [reason] this will suspend a channel, making the bot part the channel. the bot's ban and user records for the channel (user channel flags and user greet messages) will be preserved elsewhere in the bot's user file for later restoration with the "unsuspendchan" command. a reason can be attached to the suspension command and will be shown when the channel is unsuspended. 
special format: 
(/msg) CP- schan del #channel [reason]
will jump to unsuspendchan and function as normal.
See Also: Unsuspend 
----------------------------------------------------------------------

Command: Transfer
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- transfer <channel> <bot> (FORCE)
makes the bot transfer its channel information to , then part itself, leaving as the active bot for that channel. this includes all channel bans, channel user records, channel mode/value defaults and onjoin information. 
notice: CP- and the new bot must be part of the same botnet to make this command of any use.
----------------------------------------------------------------------

Command: Chnick (ChHandle)
Usage: (/msg) CP- chnick <old nick> <new nick>
makes the bot change a person's nick in the bot's userfile.
----------------------------------------------------------------------

Command: Movechan (mchan)
Usage: (/msg) CP- movechan <#current channel> <#new channel> (reason)
makes the bot move to a new room, transferring all pertinent record to the new channel. this saves using part then join and manually re-adding all the records.
----------------------------------------------------------------------

Command: Setall
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- setall
this will set <channel option(s)> for all the channels the bot monitors.
See Also: Chanset 
----------------------------------------------------------------------

Command: Shitlist (slist) 
Usage: (/msg) CP- shitlist [mask]
(/msg) CP- slist <channel> <nick> [mask]

this will shitlist (blacklist) a user on <channel>.

if the user is on the specified channel, the bot will calculate the apropriate mask.this is manual equivelant of the chanset +revenge mode on a user-by-user basis.if the target nick is not known, the bot will treat this as a first offense: auto-deop.if the target nick is known, the bot will treat this as a second offense: auto-kick. 
See Also: Chanset 
----------------------------------------------------------------------

Command: Revealmsg
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- revealmsg <add <nick> | del <nick> | list | clear>
the revealmsg command will let you show /msg's from unknown specified users to the channel. known users will be bypassed. 
this command can not be directed to /msg or /notice; it must go to the channel 
----------------------------------------------------------------------

Command: Admin
Usage: (/msg) CP- admin <add <user> <level> | del <user> | mod <user> <new level> | list>
the admin command will control the level access of global users. this was separated from the adduser/moduser/remuser chain of commands to better control can add/modify/remove global users ... and to what target levels. 
examples:
(/msg) CP- admin add chicken owner
(/msg) CP- admin mod chicken 700
(/msg) CP- admin del chicken
(/msg) CP- admin list
----------------------------------------------------------------------

Command: Block
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- block <add #CHANNEL | del #CHANNEL | list | clear>
the block command will let you block the bot from joining a channel.
----------------------------------------------------------------------

Command: Unsuspendchan (uschan)
Usage: (/msg) CP- unsuspendchan <channel>
alternative usage: (/msg) CP- uschan <channel>

this will unsuspend a previously suspended channel. all channel bans, modes and user information will be restored. the reason for the suspension, who set it, and when it was will be shown, if known.

special format:
(/msg) CP- schan del #channel [reason]
this allows the use of s[uspend]chan to control channel suspensions (add and delete).
s[uspend]chan del will simply fall into unsuspendchan.
See Also: Suspendchan (schan) 
----------------------------------------------------------------------

Command: Botnick 
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- botnick <newnick>
changes the bot's nick on irc (which may let someone steal it from you!!)
----------------------------------------------------------------------

Command: Chhandle
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- chhandle <old handle> <new handle>
makes the bot change a person's nick in the bot's userfile.
----------------------------------------------------------------------


Category: Level 700 / Global Botnet Technician
======================================================================
Command: Jupe
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) bot jupe <show | add | del | clear | jump> [server name or IP[:port]] (wildcards ok)
this command manages the jupe list [servers that the bot will not let itself use]. note: you =may= use port assignments as part of the server name [including with wildcards]. 
bot jupe show
this shows all the currently juped servers 

bot jupe add chickenscratch.farmersirc.net
this adds "chickenscratch.farmersirc.net" to the jupe list. the bot will now deny itself access to the server. if you try a jump to this server, the bot will tell you that you can't use that server. if the bot restarts (or jumps servers due to a netsplit), it will catch and evade any attempt to use this server. 

bot jupe add *.eu.farmersirc.net
this will make the bot avoid any european servers on farmersirc.net 

bot jupe add *:6667
this will make the bot avoid any server that is listed as using port 6667 

bot jupe del *farm*
this will make the bot remove any match to "farm" from the jupe list 

bot jupe clear
this will make the bot remove all servers in the jupe list. 

bot jupe jump
if the bot is on a juped server, it will jump to another server. if the bot is on a "legal" server, it will tell you that it is okay where it is. 

----------------------------------------------------------------------

Command: Servers
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) bot servers <show | add | del | clear | default> [server name or IP [:port]]
this command manages the servers list [servers that the bot will use for any of the reasons a bot would jump itself or be told to jump]. note: you =may= use port assignments as part of the server name [including with wildcards]. use of this command =overrides= the set servers command in your bot's config file; use with caution. 
bot servers show
this shows all the currently listed servers 

bot servers add chickenscratch.farmersirc.net
this adds "chickenscratch.farmersirc.net" to the servers list. the bot will now use this server in the list of available servers if it needs to jump, or if the jump command is issued. 

bot servers add copenhagen.dk.eu.farmersirc.net:6664
this will make the bot add copenhagen.dk.eu.farmersirc.net, port 6664, to the servers list. specifying a port number supercedes the set default-port setting in your bot's config file. 

bot servers del *farm*
this will make the bot remove any match to "farm" from the servers list (wildcards ok). 

bot servers clear
this will make the bot remove all entries from the servers list. the danger in this is: this leaves only the current server (that the bot is on) as the only active server; you can =not= remove a server from the list if the bot is currently on it. the bot will warn you, and its "home" channel, that the server list was wiped and you need to add some servers back on. to clear the servers list and make it the config file default, see servers default below. 

bot servers default
this will erase the current servers list, and use the bot's config file settings (set by "set servers {list of servers}"). since the servers command uses variables to track the changes, and writes to a separate data file, changes you make via servers do =not= touch the config file, thus leaving the original settings in tact and untouched. 
----------------------------------------------------------------------

Command: Suspend
Usage: (/msg) CP- suspend <nickname | list> [reason]
suspends all access until user is unsuspended; they have no access to the bot.
an optional reason can be stated if desired. use suspend to see a list of suspended users and the reasons.
----------------------------------------------------------------------

Command: Unsuspend
Usage: (/msg) CP- unsuspend <nickname> 
the bot unsuspends a suspended user.
See Also: Suspend 
----------------------------------------------------------------------

Command: Msg
Usage: (/msg) CP- msg <nickname> <message> 
messages someone with a message.
----------------------------------------------------------------------

Command: Save
Usage: (/msg) CP- save
bot saves user/channel files.
----------------------------------------------------------------------

Command: Backup
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- backup
bot backs-up the user/channel files 
----------------------------------------------------------------------

Command: Link
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- link (hub bot) <target bot>
makes the target bot link to this bot, or to the hub bot, if listed.
----------------------------------------------------------------------

Command: Unlink
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- unlink <target bot>
makes the target bot break-off from the botnet.
See Also: Link 
----------------------------------------------------------------------

Command: Banner (broadcast)
Usage: (/msg) CP- banner <text>
(/msg) CP- banner i will be right back! 
this will make the bot display the text "i will be right back!" in all the rooms where it is present. 

See Also: Say 
----------------------------------------------------------------------

Command: Jump
Usage: (/msg) CP- jump <server> [port [password]]
the bot will jump from its present server to the server specified under <server>
----------------------------------------------------------------------

Command: Rehash
Usage: (/msg) CP- rehash 
the bot will rehash it's config file.
----------------------------------------------------------------------

Command: Restart
Usage: (/msg) CP- restart 
the bot will restart and load it's configfile and modules again. 
----------------------------------------------------------------------

Command: Log
Usage: (/msg) CP- log <message> 
tells the bot to add a note to the log file.
----------------------------------------------------------------------

Command: Send
Usage: (/msg) CP- send <botnick> #channel <command> [args]
the bot will send the <command> to <botnick> to execute (as if the bot had normally received the command). 

this works well for sending commands to any bot lost in a netsplit or on another network. do note that the target channel must be specified, even if you're sending a non-channel specific command. 

notice: CP- and must be in the same botnet to make this command of any use. 
----------------------------------------------------------------------

Command: Notice
Usage: (/msg) CP- notice <nickname> <message> 
notice a user with a message
----------------------------------------------------------------------

Command: Botnet
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- botnet <stats | links>
makes the bot list bot-related information.

stats: shows internal stats and current links.
links: shows all listings of bots internally (segregated by bot flags).
----------------------------------------------------------------------

Command: Counters
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- counters [#channel] [command | level | clear]
shows the command usage tallies for each command, global or channel-specific, a specific command/level, or clears the numbers
----------------------------------------------------------------------

Command: Nicktrack (NT)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- nicktrack <add | del | stats | clear | show | list> <wildcard to match>
usage: (/msg) CP- nicktrack add <nick>
usage: (/msg) CP- nicktrack del <wildcard to match>
usage: (/msg) CP- nicktrack <show | list> <wildcard to match>
usage: (/msg) CP- nicktrack stats <nick>
usage: (/msg) CP- nicktrack clear <nick> (600/global ops only!)

usage: (/msg) CP- nicktrack clear clear 
("clear clear" is required to prevent mistakes) [global owners only ~ clears all users nicktrack lists!]

makes the bot alter / display information regarding the tracking of the given nick(s). the bot will collect the raw data on its own and report known information via the stats option.
----------------------------------------------------------------------

Command: Genpass
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- genpass <handle (NOT nick)>
makes the bot create a random password for the given user
----------------------------------------------------------------------


Category: Level 600 / Global Operator
======================================================================
Command: Ignore
Usage: (/msg) CP- ignore <nick!user@host>
bot ignores a person at that user@host
----------------------------------------------------------------------

Command: Unignore
Usage: (/msg) CP- unignore <nick!user@host>
bot unignores a person at that user@host
See Also: Ignore 
----------------------------------------------------------------------

Command: Clear
Usage: (/msg) CP- clear (#channel)
clears the channel modes 
----------------------------------------------------------------------

Command: Mass
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- mass (#channel) <op | deop | voice | devoice | kick>
this will make the bot op/deop/voice/devoice/kick everyone in the specified channel.
----------------------------------------------------------------------

Command: Lock
Usage: (/msg) CP- lock <#channel> 
tells the bot to lock up the channel mode changes to channel are +smnti
----------------------------------------------------------------------

Command: Unlock
Usage: (/msg) CP- unlock <#channel> 
tells the bot to unlock the channel mode changes to channel are -smi
See Also: Lock 
----------------------------------------------------------------------

Command: Global
Usage: (/msg) CP- global <greet | op | deop | voice | devoice | kick | list | userlist | ban | unban> [args]
this will make the bot execute the command (ban, op, et cetera) on all channels or get data (userlist, list, et cetera) from all channels.
----------------------------------------------------------------------

Command: Chset
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- chset <handle of user> <parameter to set> <value>
changes a given value for a user.
----------------------------------------------------------------------

Command: Clearqueue (CQ)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) SkyOne clearqueue
usage: (/msg) skyone cq 
this will clear the bot's output buffer. by default, this will clear all internal queue's. 
warning : this command will kill any output messages that are buffered in all channels! use only if necessary to kill an output flood (such as banlist )!
----------------------------------------------------------------------

Command: CheckPass
Usage: (/msg) CP- checkpass <handle of user> <password to verify>
verifies if a password is the correct one for the given handle or not. 
this does not retrieve a forgotten password!! 
----------------------------------------------------------------------

Command: BanAll
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- banall <nick | mask> [duration] [reason]
this will create a ban and copy it to all active channels. this is different from a global ban in the fact that it merely copies the ban to all channels. 

advantage: if a ban needs to be removed from one particular chan, the other chans aren't affected.
disadvantage: any new (joined) channels will not have the ban automatically added.
See Also: Ban Bantype Global Unban 
----------------------------------------------------------------------

Command: Deny
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- deny (#channel) <args> <additional needed args>
this makes the bot [un-]ignore ("shitbrick") the target user. when a user is denied/shitbricked, the user will not be allowed to use any commands. 
although they are not being truly ignored (the bot will see what they are doing, as opposed to an ignore, which won't let the bot see the user at all), the user will be denied any use of commands. 
this mimics the suspend command, except that the bot will not answer the user (behaving like ignore) but will tell $home (#bothouse) about the command being used (behaving like suspend). 
what?! 
heh. :) translation: the bot will not reply to the shitbricked [denied] user, but will tell on him in $home channel. 
in #channel: <user> CP- say something
[CP- will not reply to the user ~ as if they were being ignored, however....] 
in $home: <CP-> > shitbrick: user just did in #channel: say something 
this way, you can monitor a person without letting them know they're blocked out (unless they join $home and see it themselves ~ then they'll have some very direct questions for you :). also, this allows their command attempt to be logged (cf. lastcmds, logfile) instead of being ignored. 
=== syntax === 
CP- deny add <handle> [reason]
(begin shitbricking the user) 
<missy> s1 deny add torex goofball
<CP-> torex has been shitbricked.
<CP-> missy (domino) has just shitbricked torex for: goofball 
[!s] notice torex : missy (domino) has just shitbricked you. i will no longer listen to you. 
CP- deny list [short]
(lists all users that are shitbricked) 
<missy> sc deny list
<CP-> the following users are shitbricked:
<CP-> torex : mon, 02 jun 2003, 14:32 [59s ago] (goofball)
<CP-> thread : mon, 02 jun 2003, 14:33 [2s ago] (goofball)
<CP-> 
<CP-> > end of deny list. 
optional syntax: 
<missy> sc deny list short
<CP-> the following users are shitbricked:
<CP-> thread, torex
<CP-> 
<CP-> > end of deny list. 
CP- deny del <handle> 
(stop shitbricking the user) 
<missy> sc deny del torex
<CP-> missy (domino) has just shitbricked torex for: goofball
<CP-> torex has been released from being shitbricked. 
$home: <CP-> missy (domino) has just released torex from being shitbricked. 
[!s] notice torex :missy (domino) has just released you from being shitbricked. 
CP- deny clear clear [short] 
(empty the entire shitbrick list: you must use "clear clear" to prevent mistakes) 
<missy> sc deny clear clear
<CP-> i've cleared the following users from the shitbrick list:
<CP-> thread : mon, 02 jun 2003, 12:47 [55m 53s ago] (goofy person)
<CP-> torex : mon, 02 jun 2003, 13:42 [1m 2s ago] (goofball) 
optional syntax: 
<missy> sc deny clear clear short
<CP-> i've cleared the following users from the shitbrick list:
<CP-> thread, torex 
ps: my friends unknowingly helped me with syntax by being "targets" .... :) 
See Also: Ignore Lastcmds (LC) Logfile Suspend 
----------------------------------------------------------------------


Category: Level 550 / Global Halfop
======================================================================
Command: Lastcmds (LC)
Usage: (/msg) CP- lastcmds <handle of user> <# of entries to show> [<channel to focus | 
shows the last # commands that a user has thrown (successful or not).
range is 1 - 10 (default = 5) 
using a channel name (or "all") at the end makes lastcmds focus on that channel (or all channels). default is to scan for commands used in the channel in which lastcmds is being used.
as a global user, you have this extra option: skyone lastcmds * [number of entries] [focus | all]
this option lets you see the last # (default: 5) commands used by anybody.
----------------------------------------------------------------------

Command: List
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- list #chan <type> <level>
mass channel information listing

(/msg) CP- list #chan email chanop
will list all email addresses for chanop &amp; above of the channel 
(/msg) CP- list #chan bday chanop
will list all birthdays of chanops &amp; above of the channel 
this command can be used with all the settings used in the set command like name, sex, bday, location, occupation, url, email, gmt, other and output. 
----------------------------------------------------------------------


Category: Level 501 / Global Trainee/Voice
======================================================================
Command: Chans / Channels
Usage: (/msg) CP- channels
(/msg) CP- chans
(/msg) CP- channels

gives a list of channels that a bot is on. 
See Also: Opstat 
----------------------------------------------------------------------

Command: Clog / Checklogin
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- (#channel) checklogin <nick>
(/msg) CP- (#channel) clog <nick> 
the bot will tell if <nick> is currently logged-in or not. 
example: 
<d3v1l> CP- checklogin smurf 
[05:11] -CP-- smurf (smurfman) is currently logged-in.

----------------------------------------------------------------------

Command: Opstat
Usage: (/msg) CP- opstat [check]
the bot will list all the channels and list if he is op'd in each of them. 
----------------------------------------------------------------------

Command: Status
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- (#channel) status
the bot will do several searches for problems in user/channel protocols. such examples include: 
- no password set 
- channel owners not having email set (users not being seen in 30+ days,).
----------------------------------------------------------------------

Command: Swallops (Swall/StaffWall)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- staffwall <MESSAGE>
this makes the bot throw a wallops-like message to all known global users, if online and in the home channel (#bothouse)
----------------------------------------------------------------------

Command: DccMe
Usage: (/msg) CP- dccme
this makes the bot initiate a dcc chat with you.
----------------------------------------------------------------------

Command: DCCBlock
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- DCCBLOCK < on | off | default <on | off> | kill >
the dccblock command lets you decide whether or not dcc chat (part-line) access will be allowed for each (newly-added) user. global users (levels 501 and above) will not be affected by this; their dcc chat ability will not be blocked. 
in order to change any settings on this command you have to be added at level 801
----------------------------------------------------------------------

Command: CmdReport (CR)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- cmdreport <add command[,command...] | del command[,command...] | list | clear> [=/>/<level]
the cmdreport command manages the report-to-$home list.
----------------------------------------------------------------------

Command: XLogout
Note: Service command (Not available in public versions of CP- BoT)
Usage: /msg CP- xlogout
the bot will log you out (cancel your previous login) to all linked bots.
you will not be able to perform any more commands until you login again. 
alternative uses: 
in channel: <botnick> xlogout
in dcc: .xlogout

See Also: Logout 
----------------------------------------------------------------------

Command: Xlogin
Note: Service command (Not available in public versions of CP- BoT)
Usage: /msg CP- xlogin password <HANDLE>
/msg CP- xlogin password <handle>
----------------------------------------------------------------------

Command: Xpass
Note: Service command (Not available in public versions of CP- BoT)
Usage: /msg CP- xpass newpassword
/msg CP- xpass newpassword [old password if changing] 
(lets you setpass throu one bot for all the rest of the bots ) 
/msg CP- xpass oldpassword newpassword 
changes your password on all the bots throu one 
----------------------------------------------------------------------

Command: Xauthop
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- xauthop (#chan) <password> <handle>
like the xlogin command, it will allow you use of bot commands on all bots.
in addition, the bot will op you in the indicated channel.
----------------------------------------------------------------------


Category: Level 500 / Channel Owner
======================================================================
Command: Chanset
Usage: (/msg) Bot chanset (#channel) <type> (args | none)
sets the channel settings. 
to see the valid settings, type: 
(/msg) bot help chaninfo (#channel)
----------------------------------------------------------------------

Command: Logfile
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) Bot logfile (#channel) <type> <today | yesterday>
the bot, if so equipped, will dcc you the appropriate log file.
----------------------------------------------------------------------

Command: Config
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- config [setting [new value]]
the bot will update or report channel settings (replacing some of the functions from chandata) 
example: 
-CP-- > the config command:
-CP-- banreason: oh tin of pink meat / must we enclue you firmly? / you are not noah.
-CP-- helpblock: 1
-CP-- ident: 0
-CP-- pubcmd: <not set>
-CP-- verifylevel: 500
-CP-- 
-CP-- > end of config help.
----------------------------------------------------------------------


Category: Level 400 / Channel Master
======================================================================
Command: Act
Usage: (/msg) BOT act (#channel) <something to do>
the bot will act something in the #channel you specified.

format: (/msg) bot act (#channel) <something to do>
bot act <something to do>

example: /msg cow act #cow-jamboree dances a jig. 

[05:47] * cow dances a jig. 
See Also: Say 
----------------------------------------------------------------------

Command: Onjoin/Konjoin
Usage: (/msg) bot (k)onjoin (#channel) <clear | add | edit # | del # | show | scan | mirror> (text)
adds to the onjoin message for a given channel. 
note: onjoin is for all unknown visitors to your channel.
note: konjoin is for all known members of your channel (chanfriend, chanvoice, chanop, chanmaster and chanowner), like a bulletin board for your crew. 
use either "onjoin" or "konjoin" for the options below: 
bot onjoin show 
shows the current onjoin of the channel 
bot onjoin list 
shows the current onjoin of the channel 
bot onjoin scan 
shows onjoins for all channels (global access required for this command). 
bot onjoin clear 
this erases the onjoin completely 
bot onjoin add text 
this adds a line to the end of [or starts] the channel's onjoin message 
bot onjoin ins # text 
this inserts text before the given line # (so you don't have to delete the whole thing and start-over if you forgot something) 
bot onjoin insert # text 
same as above 
bot onjoin del # 
deletes a given line, even in the middle of the onjoin! 
bot onjoin delete # 
same as above 
bot onjoin mirror 
this makes the onjoin and konjoin show the same message.
* bot onjoin mirror: makes the bot's onjoin message the same as the konjoin message
* bot konjoin mirror: makes the bot's konjoin message the same as the onjoin message 
bot onjoin autovoice 0 
turns-off autovoicing for that channel [however, chanset +autovoice will work normally] 
bot onjoin autovoice 1 
autovoice all known channel staff [chanvoice, chanop, chanmaster and chanowner] 
bot onjoin autovoice 2 
autovoice all known channel members [chanfriend, chanvoice, chanop, chanmaster and chanowner] {same as option #1, except this includes chanfriend} 
bot onjoin autovoice 3
autovoice everyone who enters the channel 
===== 
in your onjoin message, you may use the following variables: 
$nick, $chan, $bot, $purpose, $url, $email, $other, and $chanowner 
$nick = joinee's nick
$chan = the channel name
$bot = the bot's nick
$chanowner = chanowner's handle
$purpose = the channel purpose
$url = channel url
$email = channel contact email
$other = the channel's "other" information. 
see the chandata on how to change these for each channel. 
example: robot onjoin add hi there $nick, and welcome to $chan! i'm your host bot, $bot! ($purpose.) if you want to contact the channel owner, $chanowner, do so at: $email. 
when someone joins the channel, s/he will see, for example: 
[12:34] -robot- hi there jenny, and welcome to #burgerthyme! i'm your host bot, robot! (this is a channel for chat about video games.) if you want to contact the channel owner, pacman, do so at: arcadeblues@kapow.com 

See Also: Chandata 
----------------------------------------------------------------------

Command: Addmask (AddHost)
Usage: (/msg) Bot addmask <nick> <[!]nick | mask> [force]
adds the mask or <nick>'s current mask to <nick>. 
using the "force" option will allow the user to add the requested mask, even if the person-in-question is all ready on a valid mask for that handle. otherwise, an "i all ready know that person" error will result. 
if you wish to add a static mask, use the person's nick with a "!" prepended to it.
(bot addmask johnny !john-away) 
See Also: Adduser RemMask (DelHost/DelMask) Remuser 
----------------------------------------------------------------------

Command: RemMask (DelHost/DelMask)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- remmask <handle> <mask>
removes mask from handler. the mask you specify must exactly match the host you're trying to remove; the bot will not wildcard match a mask since the hosts are wildcarded anyway.
See Also: Addmask (AddHost) Adduser Remuser 
----------------------------------------------------------------------

Command: Stick
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) Bot stick (#channel) <ban | exempt | invite> <exact ban mask>
makes a ban, exempt or invite "sticky" so it's never removed by +dynamicbans, +dynamicexempts nor +dynamicinvites. 
this affects globally set ones as well. 
See Also: Ban Chaninfo Chanset Exempt Invite Unban Unexempt Unstick 
----------------------------------------------------------------------

Command: Unstick
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) Bot unstick (#channel) <ban | exempt | invite> <exact ban mask>
"unsticks" a ban so that +dynamicbans can mode -b it (so the channel's (ircd's) banlist won't get full). this affects global bans, too. 
related topics: stick chaninfo chanset ban unban banlist exempt unexempt invite 
See Also: Ban Chaninfo Chanset Exempt Invite Stick Unban Unexempt 
----------------------------------------------------------------------

Command: Invite
Usage: (/msg) Bot invite (#channel) <nick>
tells the bot to invite a user to a channel. if the server supports +i mode invites, the bot will also set the +i mode invite to leave the invite active. 
use this function wisely!
----------------------------------------------------------------------

Command: Chaninfo
Usage: (/msg) Bot chaninfo (#channel)
shows which modes are enforced on the channel, both + and - modes can be enforced. specify "none" to make the bot stop enforcing any modes idle-kick kick idle users (non +f's anyway) on the channel after how many minutes (use 0 to turn this off) 
the following can be set + or - (eg (/msg) bot chanset (#channel) -clearbans) 

clearbans - clear all the channel bans when the bot joins the channel?
enforcebans - kicks people who match channel bans?
dynamicbans - only activate bans on channel when they are needed
userbans - allow other users to place bans on the channel
autoop - automatically op users when they join the channel
bitch - only allow users with the +o flag to be ops on the channel
greet - say a users info line when they join the channel
protectops - re-op a +o user who gets deopped?
dontkickops - never kick +o flag people
statuslog - log the channel status every 5 minutes
stopnethack - de-op anyone who enters the channel with server ops
revenge - take revenge on anyone who deops, kicks or bans the bot or any valid user
secret - don't provide info about the channel over the botnet
shared - share user settings for this channel (note: this can only be set in the config file)
autovoice - this causes the bot to also monitor channel voice settings, using the +v/+q settings
dynamicexempt - activates exempts only when needed
dynamicinvite - activates invites only when needed
wasoptest - checks to see if users were ops before a netsplit
isoptest - checks to see if users were opped as a result of a netjoin and should have been 
the following are flood settins, they are set by using: 
(/msg) CP- chanset (#channel) flood-type number:seconds 
where number &amp; seconds are integers indicating the number of times in how many seconds the flood will be triggered. 

flood-chan - this defines the flood level for public chatter &amp; actions
flood-ctcp - this defines the flood level for ctcp's to the channel (include ping &amp; version), except for action's
flood-join - this defines the number of joins from a give user@host that constitutes a flood
flood-kick - how many kicks in the given time are a flood
flood-deop - deops in the given time
flood-nick - nick changes in the given time
aop-delay - how long to delay before giving auto-ops.

----------------------------------------------------------------------

Command: Adduser
Usage: (/msg) Bot adduser (#channel) <nickname> <level> 
adds a user to the bot. 

use !nick for a static host add. 
See Also: Levels 
----------------------------------------------------------------------

Command: Remuser
Usage: (/msg) Bot remuser (#channel) <nickname[,nick2[nick3...]]> (global)
removes a user from the bots channel userlist use 'global' to remove the user from the global userlist (global masters only)
See Also: Levels 
----------------------------------------------------------------------

Command: Moduser
Usage: (/msg) Bot moduser (#channel) <nickname> <level>
modifies a user's access level in the bot's channel userlist 
related topics: adduser remuser chattr levels 
See Also: Adduser Levels Remuser 
----------------------------------------------------------------------

Command: Say
Usage: (/msg) Bot say (#channel) <something to say>
the bot will say something in the #channel you specified
----------------------------------------------------------------------

Command: Swearkick (sk)
Usage: (/msg) CP- swearkick (#channel) <add | del | list> [word [action]]
this command is my take on the "bad-word kicker" issue. 
the difference between mine and other scripts is: mine is 100 dynamic, and 100 channel-specific. you can add or delete words at will, without affecting other channels. 
this command updates the list of blackballed words that will get a user kicked from a channel. the use of the "action" for every word allows the bot to mete-out different punishments, depending on the word itself. the script checks insensitive to case. 
to protect from "accidental triggering," the bot will only search the beginning of words for triggers (thus, the word "middlesex" won't get caught by "sex"). if you want the bot to "react" to words like "dumbfuck" [which "fuck" will not catch], you will need to add "dumbfuck" to the word list. the script also dances around punctuation, so "shit!" "what the fuck?!?!?" and "damn. what's up with you?" will all have action taken. 
i have purposely "forgotten" to use a wildcard system since english is such a complex language that "accidental triggering" is a real problem as some "trigger words" are actually inset into legitimate words (e.g.: "middlesex"). god only knows how frequently that happens on other languages. for example, i speak japanese. the word "shitte" means "did" in the past tense. i do not want to be kicked for saying "kyoo ni atarashii no part de CP- BoT o shitteimasu yo." in the channel because the word "shit" is in that sentence. 
to modify a word that's all ready in the database, you need to del the word, then re-add it. 
the "sk" command is just a shortcut for "swearkick" and can be used interchangeably. 
defaults: 
action = kick user
ban time = 5 minutes (non-changeable ~ use a manual ban if longer time is needed) 

CP- swearkick add hell
this will make the bot notice the word "hell" and take the default action: kick the user out. 

CP- swearkick del ass
this will make the bot remove the word "ass" from the database (since words like "morass" and "assumption" would be caught by it]. 

CP- swearkick list
this makes the bot show you a list of words that it's watching for, and what action it will take if it sees them. 

CP- swearkick add chicken warn
this will make the bot /msg the user with a warning about using the word "chicken" in the channel, but will do no more than that. due to the dymanic nature of the proc cell, the script will not "remember" that it warned the person, and will warn them every time they use the word. 

CP- swearkick add shit kick
this will abke the bot kick any user out that uses the word "shit" in the channel. again, this will only catch "shit" used by itself, and not as part of another word such as "shitte" which means "did" [preterit tense] in japanese, for example. 

CP- swearkick add billgates ban
this will ban any person who says "billgates" in channel ... heh heh .... 
See Also: Ban Kick 
----------------------------------------------------------------------

Command: Deftopic
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) SkyOne deftopic (#channel) <show | clear | restore | lock | unlock | set [topic]>
deftopic clears, restores or sets a default channel topic for each channel.
See Also: Topic 
----------------------------------------------------------------------

Command: Memo
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- memo (#channel) <add <message> | edit # <message> | del # | ins # <message> | clear>
memo adds/edits a memo file for your channel.

CP- memo add this is a memo line
CP- memo edit 1 this is new text for line one

editing memo lines are done in the same way as editing onjoin lines
----------------------------------------------------------------------

Command: Cycle
Usage: (/msg) CP- cycle (#channel)
bot parts a channel then rejoins 
----------------------------------------------------------------------


Category: Level 100 / Channel Operator
======================================================================
Command: Version
Usage: /msg BOT version
the bot will tell you what version of CP- BoT it is running. 
----------------------------------------------------------------------

Command: Op
Usage: (/msg) Bot op (#channel) <nick>
usage: (/msg) bot op (#channel) me
usage: (/msg) bot op (#channel) <nick1> <nick2> 
makes the bot op you or a person(s) 

related topics: deop halfop dehalfop voice devoice 
See Also: Deop Devoice Voice 
----------------------------------------------------------------------

Command: Deop
Usage: (/msg) Bot deop (#channel) <nick>
usage: (/msg) bot deop (#channel) me 
usage: (/msg) bot deop (#channel) <nick1> <nick2> 
makes the bot deop you or a person(s) 
related topics: op halfop dehalfop
See Also: Devoice Voice 
----------------------------------------------------------------------

Command: Wallops (wall)
Usage: (/msg) Bot wallops (#channel) <message>
makes the bot send a messages to all people oped on a channel.
----------------------------------------------------------------------

Command: Comickick (ck)
Usage: (/msg) Bot comickick (#channel) <SHOW | off | warn(ing) | on [# of minutes to ban]>

usage: (/msg) bot ck (#channel) <off | warn(ing) | on [# of minutes to ban]> 
the bot will take instructed action to anyone that uses microsoft comic chat in the channel. 
the bot can either (1) ignore it, (2) warn the person to turn it off, or, (3) kick them out of the channel. ban time of 0 is just a kick; 1 or more minutes = banned for that time length. 
note: users added to the bot will not be punished


----------------------------------------------------------------------

Command: Clearbans
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) Bot clearbans (#channel)
the bot will mode -b (remove from the ircd banlist) all current bans.
the bot will then restore any "sticky" bans automatically.

the ircd (the program that a chat server really is) can only hold 30 bans. if you try to add bans after that, they'll be ignored. this command will remove the bans from the channel, not from the bots nor your chanserv (k9's) memory; the person is still banned! 
this command is not the same as the channel setting +/-clearbans, which erases the internal banlist of the bot when the bot joins a channel.

related topics: ban, unban, banlist, stick, unstick, chanset: +dynamicbans, +enforcebans, +userbans, +clearbans 
See Also: Ban Chanset Stick Unban Unstick 
----------------------------------------------------------------------

Command: Page
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) bot page (#chan) [message]
this command will make the bot page/summon any active bservice member in #bothouse displyaing the text you enter in [message] anyone who is available will respond, but, if no one is available (empty channel or /away), you may not get an immediate response. if that is the case, the page request will be logged and acted-upon as soon as a representative is available. #bothouse has an open-door, 24/7 policy, so feel free to come-in with any questions or concerns 
----------------------------------------------------------------------

Command: Resetchan (Rchan/Reset)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- resetchan (#channel)
usage: (/msg) skyone rchan (#channel)
usage: (/msg) skyone reset (#channel)

the bot will reset the internal channel information based on server information. this is the same command the bot does when joining a channel. the bot will also check for any persons to be auto-opped, auto-voiced and ... you guessed it ... banned, and do so if needed.
----------------------------------------------------------------------

Command: VWallops (VWall)
Usage: (/msg) CP- vwall (#channel) <message>
usage also: (/msg) CP- vwallops (#channel) <message>

makes the bot send a messages to all people who are voices or ops on a channel.
See Also: Wallops (wall) 
----------------------------------------------------------------------


Category: Level 075 / Channel Halfop
======================================================================
Command: Topic
Usage: (/msg) Bot topic (#channel) <text for topic> 
tells the bot to set a topic. 
to remove the topic:
(/msg) CP- topic (#channel) none
----------------------------------------------------------------------

Command: Mode
Usage: (/msg) Bot mode (#channel) (+ or - s | t | i | n | l | k | c | m | p | others) 
sets channel modes
----------------------------------------------------------------------

Command: Kick
Usage: (/msg) Bot kick (#channel) <nick> <reason>
usage: (/msg) bot kick (#channel) me 
tells the bot to kick you or others
See Also: Ban 
----------------------------------------------------------------------

Command: Ban
Usage: (/msg) bot ban (#channel) <nickname | *!*@* formatted mask> [bantype | time in minutes] [reason]
default settings: 
ban reason: "requested"
ban time: "2 hours (120 minutes)" 
check for proper mask format: yes (on-channel nick or *!*@* format allowed only)
==========================================================
example: cheesek0w ban jennifer 

this makes the bot ban the person who's nick is "jennifer" (by calculating the proper mask) from the channel; the default reason and time will used ("requested" for 2 hours). 

example: cheesek0w ban marty b5 


this will make the bot ban "marty" for the default reason ("requested") for seven (7) days. (see bantype for list of preset b* ban times.) 
in both of these examples, if the nick is not in the channel at the time the command is activated, the bot will tell you that it can't ban the person because it can't calculate their mask since they're not on the channel. the bot will suggest that you ban by mask instead. this is to avoid nick-only bans (marty!*@*) from filling-up the banlist, which are completely useless; changing your nick will dance around the ban. 


the only way to do an actual "nick ban" is to use the mask: nick!*@* 
example: cheesek0w ban *shit*!*@* perm there's no reason for that nick in here. 

this will make the bot permanently ban any nick with the word "shit" in it, with the reason "there's no reason for that nick in here." 
example: cheesek0w ban *!davis@*.party.of.five.com 60 foul language!! 

this will make the bot ban the mask "*!davis@*.party.of.five.com" for the reason "foul language!!" for 60 minutes. 
example: cheesek0w ban *!jryan@*.seven.of.nine.b.org 2w5d6h foul language!! 

this will make the bot ban the mask *!jryan@*.seven.of.nine.b.org for the reason "foul language!!" for 2 weeks, 5 days, and six hours. 
recent coding allows "unreal" time [called as such since i first discovered its use on the unreal ircd] specifications. 

example: cheesek0w ban *!*@*.rr.com perm spamalopes! 

this will make the bot ban the entire domain of rr.com (roadrunner) permanently with the reason "spamalopes!" domain bans are to be =last resort= as you will be banning all other innocent users from that isp. use with caution. 

See Also: Unban 
----------------------------------------------------------------------

Command: Unban
Usage: (/msg) Bot unban (#channel) <nick!user@host> 
makes the bot unban someone
See Also: Ban Kick 
----------------------------------------------------------------------

Command: Exempt
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) Bot exempt (#channel) <nick!user@host> 
activates an exempt for the channel's ban list. (not supported on all networks!) 
See Also: Unexempt 
----------------------------------------------------------------------

Command: Unexempt
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) Bot unexempt (#channel) <nick!user@host> 
kills an exempt from the channel's exempt list. (not supported on all networks!)
See Also: Exempt 
----------------------------------------------------------------------

Command: Uninvite
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) Bot uninvite (#channel) <nick>
makes the bot kill an invite form the channels' full-time invite list. this "invite list" differs from the normal invite command because it's longer term (and, in some cases, permanent). this feature is not available on all networks. 
See Also: Invite 
----------------------------------------------------------------------

Command: Xforcelog (xflog)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- xforcelog <nick> 
the bot will log-out <nick> from all bots on the botnet.
----------------------------------------------------------------------

Command: Xsend
Usage: (/msg) CP- xsend #channel <command> [args]
the bot will send to all bots on the botnet, similar to the "***" command trigger. this works well for sending commands to bots lost in a netsplit or on other networks. 

do note that the target channel must be specified, even if you're sending a non-channel specific command. 

notice: the bot must be part of a botnet to make this command of any use.
----------------------------------------------------------------------

Command: BanScan
Usage: (/msg) CP- banscan (#channel) <limit <time value> | max <max # of entries to offer> | list>
lists the bans in the channel that have not been used in a pre-set amount of time (and could possibly be removed). 
CP- banscan max ## sets the maximum number of replies banscan will give you (to avoid flood-offs). 
CP- banscan limit <time> sets the time limit that banscan will search for.

(time: can be expressed in urt format (4w6h), or in minutes (10080)). 
See Also: Ban Banlist Bantype Unban 
----------------------------------------------------------------------

Command: Dehalfop
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- dehalfop (#channel) <me | nick list>
tells the bot to dehalfop (-h) someone
See Also: Deop Devoice Op Voice 
----------------------------------------------------------------------

Command: Halfop
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- halfop (#channel) <me | nick list>
tells the bot to halfop (+h) someone 
See Also: Dehalfop Deop Devoice Op Voice 
----------------------------------------------------------------------


Category: Level 050 / Channel Voice
======================================================================
Command: Userlist
Usage: /msg CP- userlist #channel <access level | global>
/msg CP- userlist #channel <access level | global> 
CP- userlist (will show you all known users to the channel and their levels only) 
CP- userlist =200 (will show you all users that are level =200, or whatever level you prefer to view) 
CP- userlist < a | c | e | g | h | l | s > (will show you the data you request [respectively: address (bots), comment, email, global level, hosts, lastseen, sort-by-level]) 
CP- userlist >99 ge (will show you all users above level 99, with all the appropriate extra data: global level and email) 
CP- userlist all, will show everyone thats added to the bot 
CP- global userlist short will show you all the global users added to the bot 

----------------------------------------------------------------------

Command: Badchan
Usage: (/msg) CP- Badchan (list/add/del/clear/wallops)

usage: (/msg) bot badchan (#channel) list <* | #channel wildcard> [all]
usage: (/msg) bot badchan (#channel) add <#* | #channel wildcard> <reason>
usage: (/msg) bot badchan (#channel) del <#channel>
usage: (/msg) bot badchan (#channel) clear
usage: (/msg) bot badchan (#channel) wallops <off | bad | on>

updates the list of blackballed channels within the channel. 
note: channel voice members only have access to the list option

----------------------------------------------------------------------

Command: Voice
Usage: (/msg) Bot voice (#channel) <me | nickname> 
tells the bot to voice (+v) someone 
See Also: Deop Devoice Op 
----------------------------------------------------------------------

Command: Devoice
Usage: (/msg) Bot devoice (#channel) <me | nickname>
tells the bot to devoice (-v) someone 
related topics: halfop dehalfop op deop 
See Also: Deop Op Voice 
----------------------------------------------------------------------


Category: Level 001 / Channel Friend
======================================================================
Command: Access
Usage: (/msg) CP- ACCESS (#channel) <nickname>
makes the bot tell you about a user's channel and global access.

formats: (/msg) CP- access (#channel) <nickname>
(/msg) CP- access (#channel) me

/msg CP- access #wakko me 

-CP-- access brad on #wakko
-CP-- nick (handle): brad (bradley)
-CP-- global level: fhjmnoptuvxln (global owner)
-CP-- channel level: channel owner
-CP-- logged in: brad is logged-in as bradley

----------------------------------------------------------------------

Command: Top
Usage: /msg BOT top <#channel> <time | talk | join> (# of results to display)
the bot will tell you who visits the specified channel that spends the most time there, talks the most in the channel, or who joins the channel the most. 
----------------------------------------------------------------------

Command: Stats
Usage: /msg BOTstats #channel <me | nick> [a] [s]
the bot will give you information on yourself or the nickname you specify.
the "a" option shows some averages; the "s" shortens the output.
----------------------------------------------------------------------

Command: Whois
Usage: /msg BOT whois #channel <me | nick>
the bot will give info on things such as global/channel access, name, email, birthday, etc, on yourself or whatever nickname you specify.
See Also: Set 
----------------------------------------------------------------------

Command: Info
Usage: /msg BOT info #channel nick <name | sex | bday | location | occupation | email | other>
the bot will give you information about the specified nick on the topic selected. 
valid types are: name, sex, bday, location, occupation, url, email, other
----------------------------------------------------------------------

Command: Greet
Usage: (/msg) CP- greet (#channel) <greet text>
the greet is a line of text, that the bot will say when you join a channel that it is in. 
to clear your greet: (/msg) CP- greet (#channel) none 
----------------------------------------------------------------------

Command: Who
Usage: (/msg) CP- who (#channel) 
the bot lists who is in a channel.
----------------------------------------------------------------------

Command: Set
Usage: (/msg) CP- set <type> <settings>
sets some personal information.valid types: name, sex, bday, location, occupation, url, email, gmt, other and output. 

the information shows up in a 'whois' and 'info'.

to clear your info: (/msg) CP- set (#channel) none 
See Also: Chset 
----------------------------------------------------------------------

Command: Note
Usage: (/msg) CP- note <nick or handle> <message>
(/msg) CP- note <nick or handle> <message>
(/msg) CP- note <nick/handle1, nick/handle2, nick/handle3...> <message>
(/msg) CP- note <handle@different bot> <message>
(/msg) CP- note <@level or *level or level> <message>
(/msg) CP- note read
(/msg) CP- note erase <all | number sequence>
(/msg) CP- note scan [note range] <wildcard to find>
(/msg) CP- note index
(/msg) CP- note list
(/msg) CP- note email

the bot sends a note to the nick/handle you specified. the @ and * options allow you to mass-note people of a certain access level (for example: @chanop, *master, chanowner or @botowner). 

the email option will email all your notes to you, you must have your correct email set on the bot for this to work correctly .

alternate forms:
usage: (/msg) CP- note read
this will show you all your pending notes.

usage: (/msg) CP- note erase <all | # sequence (4, 1-3, all, 2-4;5;9-)>
this will erase the notes you specify the number pattern format is the exact same as in dcc or /msg note erasing.
----------------------------------------------------------------------

Command: Kwallops (kwall)
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- kwallops (#channel) [#UL range] <message>
additional usage: (/msg) CP- kwall (#channel) [#ul range] <message> 
makes the bot send a messages to all people on the channel that the bot knows, opped or not. you have the option to specify the user level/user level range the bot will target (same as levels for adduser). 
please note: because this done person by person, and not via the server channel wallops, this command will appear to lag, but isn't. the bot is programmed to delay each line so the server will /kill it for flooding. 
sample: /msg CP- kwallops #bothouse >500 test
[!s] notice missy,dick,horsie,webmaster :kwallops >500 from horsie@#bothouse : test
-CP-- kwallops >500 from horsie@#bothouse : test 
( the above command sent a notice to everybody in #bothouse with a user level of 500 or above - aka, missy (user level 1000), dick (user level 501), horsie (user level 501), &amp; webmaster (level 900) - all others did not receive the notice. )
----------------------------------------------------------------------

Command: Banlist
Usage: (/msg) CP- banlist (#channel) (wildcarded mask) (limiter) [short]
gives you a list of bans made by the bot on a certain channel. ( will also list global bans if you use ''global'' or ''all'' ) 

limiter: all, chan/channel, active, global, sticky 
"short" will give you the masks only, thus shortening the list result.
See Also: Ban Bantype Exempt Exemptlist Unban 
----------------------------------------------------------------------

Command: Exemptlist
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- exemptlist (#channel) (wildcarded mask) (limiter) [short]
gives you a list of exempts made by the bot on a certain channel. ( will also list global exempts if you use ''global'' or ''all'') 

limiter: all, chan/channel, active, global, sticky
"short" will give you the masks only, thus shortening the list result.
See Also: Ban Banlist Bantype Exempt Unban Unexempt 
----------------------------------------------------------------------

Command: Invitelist
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- invitelist (#channel) (wildcarded mask) (limiter) [short]
gives you a list of invites made by the bot on a certain channel. ( will also list global invites if you use ''global'' or ''all'') 

limiter: all, chan/channel, active, global, sticky
"short" will give you the masks only, thus shortening the list result.
See Also: Invite 
----------------------------------------------------------------------

Command: Ignorelist
Usage: (/msg) CP- ignorelist
bot will tell you who is currently being ignored
See Also: Ignore Unignore 
----------------------------------------------------------------------

Command: Comment
Usage: (/msg) CP- comment (#channel) <show | none | message>
to clear your comment: (/msg) CP- comment (#channel) none

the comment is a line of text, that the bot will say when you join a channel that it is in. it differs from greet because you can customize it to (1) make the bot act, (2) speak, or (3) play a file.

additionally, comment does not emply the [nick] part of the greet line.

additional parameters:
CP- comment $act does a dance (makes CP- do: * CP- does a dance)
CP- comment $snd skyone.wav (makes CP- play a sound: CP-.wav)

variables you may use in a comment: $nick (your nick), $bot (the bot's nick), and $chan (the channel's name).
----------------------------------------------------------------------

Command: Alarm
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- alarm <parameters>
this makes the bot reminds you, or a channel, of something at the time you specify. alarm is in the form of a ctcp alarm to you [if you're online], a select channel (if you wish), or a simple note [if you're not online] for you. all dates/times used are from your point of view; the bot will compensate for timezone differences.

however, you must have your gmt setting in place . (CP- set gmt offset)

options/parameters used:
alarm add <date> <time> <message>
alarm add <date> <time> #channel <message>
alarm add <+urt offset from current time | now | today | tomorrow> <time> [#channel]
alarm list <wildcard to find, default: *>
alarm del <wildcard to find, default: *>
alarm clear <wildcard to find, default: *>
See Also: Set 
----------------------------------------------------------------------

Command: Nick
Usage: (/msg) CP- nick <new nick>
also (/msg) CP- handle <new nick> 
makes the bot change your nick in the userlist (which is called a "handle")
----------------------------------------------------------------------

Command: Uptime
Usage: (/msg) CP- uptime
the bot tells how long it's been up since being restarted.
----------------------------------------------------------------------

Command: News
Note: Service command (Not available in public versions of CP- BoT)
Usage: /msg CP- news read [options]
usage #2: /msg CP- news add <message>

the bot will add a "news" announcement for users to read. this will be announced to all appropriate persons as they enter the channel. once a news item is read, it will not show-up again, unless a person uses the news command to read old messages.
----------------------------------------------------------------------

Command: Delay
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- delay <add MM/DD/YYYY HH:MM | add +URToffset | del <wildcard> | list> <command with any parameters>
option: delay clear <wildcard to find, default: *> 
this makes the bot perform a command after a specified delay.
example 1: CP- delay add 12/25/2002 00:15 say merry christmas!!!!!
example 2: CP- delay add +1h act realizes that it's been an hour ... it's time to check the roast in the oven! 
due to security issues, three conditions must exist for the command to trigger:
(1) you must specify a time in the future, not in the past
(2) you must be present in the target channel when the timers triggers
(3) you must be authed when the timer triggers
if any of these three conditions are broken, the command will just leave you a note (if notes are active) telling you it couldn't do as you asked. 
please be smart (because the script is): don't try to run commands for things to which you don't have access. the commands are parsed through the normal access checks, so you won't be able to "backdoor" commands this way.
----------------------------------------------------------------------

Command: Pass
Usage: /msg CP- pass <password>
this will set a password on the bot (also see login)
----------------------------------------------------------------------


Category: Level 000 / Anyone
======================================================================
Command: Time
Usage: (/msg) CP- time [nick]
the bot will tell you the current time of which time zone the bot is being ran in or the user's set timezone. 
See Also: Date 
----------------------------------------------------------------------

Command: Date
Usage: (/msg) CP- date
the bot will tell you the current date of where the bot is being ran at. 
See Also: Time 
----------------------------------------------------------------------

Command: Ping
Usage: /msg CP- ping <me | nick>
the bot will send you a ctcp ping and tell you if you are lagged if the me option is defined. if you put in the nick of someone else, the bot will ping that person
----------------------------------------------------------------------

Command: Seen
Usage: (/msg) CP- seen (#channel) <nick | handle>
the bot will tell you when it last saw the specified nick or handle. keep in mind, if the person is not currently online, you must specify the person's handle (the nick that the bot knows him / her as), and that person has to be "known" to the bot in the first place.
----------------------------------------------------------------------

Command: Levels
Usage: (/msg) CP- levels
the bot lists all of the channel and global levels. 
global access levels 

permanent bot owner (1000): global owner. global flags: fhmnopx
owner (900): global owner. global flags: fhmnopx
master (800): global master. global flags: fhmopx
tech (700): global tech. global flags: fhtop
op (600): global op. global flags: fhop
halfop (550): global op. global flags: fhhlop
voice (501): global voice. global flags: fhvp

channel access levels 

chanowner (500): channel owner. global flags: hp. channel flags: fmno
chanmaster (400): channel master. global flags: hp. channel flags: fmo
chanop (100): channel op. global flags: hp. channel flags: fo
chanhalfop (75): channel voice. global flags: hp. channel flags: fhlv
chanvoice (50): channel voice. global flags: hp. channel flags: fv
chanfriend (1): channel friend. global flags: hp. channel flags: f
See Also: Access Adduser Flags Whois 
----------------------------------------------------------------------

Command: Chandata
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- chandata (#channel) [scan] | <URL | email | purpose | other> <information>
depending on your access level this command has three different versions and uses:

access: anyone 
the command will show the channel settings
(/msg) CP- chandata (#channel)

access: channel owner 
the command will set parameters for the channel 
(/msg) CP- chandata (#channel) <parameter> <value>
(url, contact email, owner, et cetera)

access: global voice 
the command will scan through the channel settings 
(/msg) CP- chandata (#channel) scan
See Also: Onjoin/Konjoin 
----------------------------------------------------------------------

Command: Bantype
Usage: (/msg) CP- bantype
the bot lists all of the bantypes (ban time) you can use. 
See Also: Ban Banlist Unban 
----------------------------------------------------------------------

Command: Firsttime
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- firsttime
the bot will give a brief bit of information for first-time users.
----------------------------------------------------------------------

Command: Verify
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- verify <nick | me>
the bot indicates whether or not <nick> is an authorized bservice representative.
----------------------------------------------------------------------

Command: New
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- new
the bot indicates all new commands for CP- BoT.
----------------------------------------------------------------------

Command: Country
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- country <dns country code | country name>
the bot will display either the country for the given code (such as "uk" or "jp" but without the "."), or the country code for the country you specify; it's bi-directional.

note: you may use wildcards when entering a country's full name to find its country code.
----------------------------------------------------------------------

Command: Special
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- SPECIAL <command> [parameters]
the special command allows special commands from other scripts to be passed through CP- BoT.tcl.

"special" commands available:

help [command]
- what you're looking at now

shortcut
- shows a list of shortcuts for the bots

ulscan
- scans the userlist for useless user entries

newchan(s)
- shows information on the pending approved channels

reset
- forces a reset of the k9 timer variables

newchan(s)
- shows information on the pending approved channels

map
- shows what bots can start others

start <bot> [force]
- restarts a bot on the same shell account and directory

kill <pid> [9 | hup]
- kills an active pid with either -9 or -hup (default = -9)

auth
- makes the bot auth for its nick

recover
- makes the bot kill a user using its nick and recovers its nick

adjust <nick> <level>
- adjusts a user's active level without messing with ownership flags (e.g.: perm bot owner, but a service global tech)

simul <nick> [chan] <command> [args]
- allows you to stimulate someone else's actions

shift [check]
- allows you to shift files uploaded to the bot to theri proper dir's

archive [extra dirs comma-delimited]
- makes the bot crate an archive file of its home and script directories for later downloading

access to these commands vary by access level:

anyone (0): help, shortcut
global voice (501): staff
global op (600): ulscan, reset, newchan [or newchans ~ both work]
global bot tech (700): map, start, kill [not active], auth, recover [that's nick auth, and nick recover (sequence: kill offending user, release chanserv blocker/enforcer of nick, then switch nick)]
global master (800): adjust, simul, shift, archive
----------------------------------------------------------------------

Command: Commands
Usage: (/msg) CP- Commands
the bot will give you a full list of all its commands, sorted by access level (just like help)
----------------------------------------------------------------------

Command: Flags
Usage: (/msg) CP- flags <channel | global | botnet>
the bot lists all of the flags for channel or global access.
See Also: Access Levels Whois 
----------------------------------------------------------------------

Command: Logout
Note: Service command (Not available in public versions of CP- BoT)
Usage: (/msg) CP- logout
the bot will log you out (cancel your previous login).
you will not be able to perform any more commands until you login again. 
alternative uses:

in channel: <botnick> logout
in dcc: .logout

See Also: XLogout 
----------------------------------------------------------------------

Command: Help
Usage: (/msg) CP- Help (#channel) [level]
bot lists all help topics. as show below, help topics can be shown per level or range if required 
CP- help =200
CP- help 100-400
CP- help <700
CP- help 50-
CP- help >500
----------------------------------------------------------------------

Command: Login
Usage: /msg CP- login <password>
the bot will log you in, allowing you to have access to your commands. 
coder's note: please don't be lame and include the channel name in here. look two lines up and re-read the syntax. 
future releases of CP- BoT will require the user's bot handle to login.
/msg CP- login <password> <handle> 
----------------------------------------------------------------------

1