The Real Technical Stuff

Ban Types supported by BotService Bots

type length of ban
default 2 hours if no ban length not specified
*h # of hours (i.e. 1h, 3h, 5h)
*d # days (i.e. 1d, 3d, 5d)
*m # months (i.e. 1m, 3m, 5m)
*y # years (i.e. 1y, 3y, 5y)
perm permanent ban

Access Levels

Not everyone can issue all commands. There are several commands which can be issued by anyone, but most are restricted to people who have been registered with the bot. Part of that registration is the assignment of an access level to the user, and that is what determines which commands the user has access to.

Associated with each user are a number of flags; each access level includes certain of these flags, by default.

The various access levels are listed below, along with which flags they normally have. Below that, are listed the flags, and what each means. Access Levels are as shown below, highest at the top:



Command Description Global Flags Channel Flags
full Full access user fhjmnoptx ---
owner Global Owner fhmnoptx ---
master Global Master fhmnopx ---
op Global Op fhopx ---
voice Global Voice fhvpx ---
chanowner Channel Owner hpx fmno
chanmaster Channel Master hpx fmo
chanop Channel Op hpx fo
chanvoice Channel Voice hxp fv


Syntax: In channel: <botnick> adduser <nick> <level>

Example: In channel: Argus adduser taycie chanowner


Direct Commands

These are commands that appear in the channel. This method requires the least amount of typing, and allows everyone to see what command you issued. A direct command consists of the name of the bot followed by a space followed by the command.

For example, if you want the bot that is named Achilles to issue the command date, you would type:

Achilles date

Direct using the bot’s ‘shortcut’ name can shorten commands even more - ask BService what the bot's shortcut name is. For the bot Achilles, the shortcut is ac, and so the above example could also be done this way:

ac date

On some bots, a very few specialized commands called Public Commands exist; with those, the name of the bot is omitted in the command.




Message Commands

These are commands given by typing /msg followed by a space followed by the name of the bot followed by a space followed by the command. Note that the shortcut name for the bot cannot be used here. The advantage to this method is that other people in the channel don't see who issued which command. Using this method, the above example would be accomplished with:

/msg Achilles date

Direct/Message Commands

The following commands can be performed by anyone in the channel.


Command Syntax What it does
seen seen <nick> Find out when the last time someone was in the channel
country country <country abbr.> Find out what a country’s name is from its abbreviation
time <botnick> time Current time where the bot is at
date <botnick> date Current date where the bot is at
ping <botnick> ping me

<botnick> ping <nick>

Have the bot ping you or someone in the channel and give you the reply
version <botnick> version Gives the current version of the bot
whois <botnick> whois [channel] me

<botnick> whois [channel] <nick>

Displays information on a user
userlist <botnick> userlist [channel] Displays list of users in the channel that have access to the bot
access <botnick> access me

<botnick> access <nick>

Displays information on a user
levels <botnick> levels Displays possible access levels with the bot and corresponding flags
flags <botnick> flags channel

<botnick> flags global

Displays the meaning of the flags for channel and global users
banlist <botnick> banlist [channel] Lists bans on the bot for the channel
bantype <botnick> bantype Displays the available ban types and what each means
ignorelist <botnick> ignorelist Lists all users currently on ignore
define <botnick> define <abbreviation> Gives user definition for standard "IRC Speak"
fyi <botnick> fyi Gives the user the BotService.Org newsletter via message


Channel Owner Commands

The channel owner can only perform the following commands.


Command Syntax What it does
chaninfo <botnick> chaninfo Lists current settings maintained by the bot
chanset <botnick> chanset [channel] chanmode <mode> Sets or removes standard IRC modes and enforces them (s, t, n)
chanset idle-kick <botnick> chanset [channel] idle-kick <minutes> Kicks any user that has been idle too long in your channel.

*Note: setting minutes to 0 (zero) will disable this feature

chanset +autoop <botnick> chanset [#channel] +autoop Gives ops automatically to anyone on the bot's userlist who is at chanop level or higher
chanset +autovoice <botnick> chanset [#channel] +autovoice gives +v automatically to anyone on the bot's userlist who is at chanvoice level or higher
chanset flood-chan < botnick> chanset flood-chan lines:seconds This defines the flood level for public chatter and actions

Example: Nebula chanset flood-chan 8:10

This would cause a user to be kicked if she posts more than 8 lines in a 10 second interval.

Channel Master Commands

The channel master or higher can perform the following commands.


Command Syntax What it does
cycle <botnick> cycle Makes the bot part andrejoin the channel
invite <botnick> invite <nick> Have the bot invite someone to the channel
suspend <botnick> suspend <nick>

<botnick> suspend <u@h>

Suspend the user from the bot
unsuspend <botnick> unsuspend <nick>

<botnick> unsuspend <u@h>

Unsuspend the user from the bot
dccme <botnick> dccme has bot initiate a DCC chat with
act <botnick> act [#channel] <action> makes bot perform an action in channel
say <botnick> say [#channel] <msg> has bot talk in channel
approval approval <search criteria> used to determine if a user has been approved/rejected for a bot. Also used to note the status of the channel, whether or not the bot has been installed or removed.

Search strings can be:

approval <date>

approval <network>

approval <channel>

approval <nick>

approval <status type, either approved, reject, installed, removed>


Channel Op Commands

The following commands can be performed by channel operators or higher.


Command Syntax What it does
topic <botnick> topic [channel] <new topic> Have bot set a topic for the channel
mode <botnick> mode [channel] <modes> Set channel modes (s, t, n)
op <botnick> op [channel] me

<botnick> op [channel] <nick 1, 2, 3>

Op yourself or a user
deop <botnick> deop [channel] me

<botnick> deop [channel] <nick 1, 2, 3>

Deop yourself or a user
voice <botnick> voice [channel] <nick> Voice (+v) a user in a channel
devoice <botnick> devoice [channel] <nick> Devoice (-v) a user in the channel
kick <botnick> kick [channel] <nick> Kick a user from the channel
ban <botnick> ban [channel] <nick> <reason>

<botnick> ban [channel] <user@ host> <reason>

Ban a user from the channel for the default of 2 hours

**Using Perm will ban this person permanently from the channel

adduser <botnick> adduser <nick> <level> Add a user to the bot

** You can only add someone lower than your access i.e. ChanOps can only add Chanvoice users

remuser <botnick> remuser <nick> Remove a user from the bot


Channel Voice Commands

The channel voice or higher can perform the following commands.


Command Syntax What it does
info <botnick> info [channel] <nick> <type> Gives personal information about a user. Valid types are: name, sex, bday, location, occupation, url, email, other
set <botnick> set [channel] <type> <details> Sets personal information about you. Valid types are: name, sex, bday, location, occupation, url, email, other
voice <botnick> voice [channel] me Has bot voice you (+v)
devoice <botnick> devoice [channel] me Has bot unvoice you (-v)


Global Owner Commands

The can perform all channel/global commands.

Command Syntax What it does
die <botnick> die [reason] Kills the bot


Global Master Commands

The can perform all channel/global commands, except Global owner commands.


Command Syntax What it does
banner <botnick> banner <msg> sends a message to all channels bot is in
rehash <botnick> rehash reloads script
restart <botnick> restart restarts bot
join <botnick> join <#channel name> has bot join channel and set up records for use
part <botnick> part <#channel name> has bot part channel and destroy all records set up
approve approve <search string> Used to add entries to the database. Entries should be entered like the following to ease searching:

INSTALLED <network> <channel> <owner> <date> <botnick> <installed by>

REMOVED <Network> <channel> <date> <reason>

REJECT <network> <channel> <owner> <date> <reason>

APPROVED <network> <channel> <owner> <date>

Global Op Commands

The can perform all channel/global commands, except Global owner commands.


Command Syntax What it does
ignore <botnick> ignore <user@host> have bot ignore user
unignore <botnick> unignore <user@host> remove user from ignore
clear <botnick> clear [#channel] removes channel modes
opstat <botnick> opstat tells whether or not a bot is opped in its channels
lock <botnick> lock [#channel] sets modes +smi
unlock <botnick> unlock [#channel] sets modes –smi
save <botnick> save saves bots user lists
msg <botnick> msg <nick> <msg> use bot to msg someone
channels <botnick> channels list channels bot is on
global <botnick> global <command> gives a command that is executed in all channels the bot is in
chanset +seen <botnich> chanset [#channel] +seen Sets the seen feature for the channel


Global Flags

These are flags used for BotService Members.

Flag What it is What it does
a Auto-op Always ops this user in channel
b Bot User is another bot
c Common User record is a common access site
d Global deop Will deop user on all channels the bot is on
f Global friend Bot will voice user on all channels its in
h Highlight flag User sees highlight in text output
j Janitor User is a file area master
k Auto kick User is kicked/banned automatically
m Global master User is a bot master
n Global owner User is a bot owner
o Global op User will be op’d in any channel the bot is in
p Partyline Partyline access
t Botnet master Botnet master
u Unshared Not sent to other share bots
v Global voice User gets a +v on any channel
x Xfer User has file area access

Channel Flags

These are flags that are set for users of a specific channel. When you use the chattr command, make sure you specifiy a channel name with the command.

Flag What it is What it does
a Auto-op Always op user on join in channel
d De-op Bot will not allow user to be opped
f Friend User isn’t punished for doing bad stuff (like channel flood, repeating, swearing, etc.)
k Kick User is auto kicked from channel
m Master User is the botmaster for the channel
n Owner User is the owner of the bot in the channel
o Op User is an op for the channel
q Quiet User will never be voiced in the channel
v Voice User will always get a +v in the channel

Bot Flags (For linking)

When you link up Bots, you need to add flags to them. If Bots are not linked they will not op each other; they will not share userfiles, etc. Once you designate a hub bot, the leaf bot will attempt to link to the hub about once per minute. If you have several Bots linked together, you should also designate an alternate hub, and for every large botnets, two alternate hubs for times when the hub bot is down. When the hub bot is down, the leaf Bots will attempt to link to an alternate hub, but they will keep trying to connect to the hub bot until they are able to link to it. As soon as they are able to link to the hub bot, they will delink from the alternate hub.


Flag What it is What it does
h Hub Your bot will try about once per minute to link to the hub bot until it succeeds. Once it links to the hub, it will no longer try to connect to any other bot.
r Reject Your bot will reject telnet connections from this bot. This is useful if you are removing someone’s bot from your botnet, but the owner is not around to remove your Bot's record from the offending bot. This bot will not be allowed on the botnet, no matter what bot it tries to connect through.
a Alternate Hub If no hub bot can be linked, or the hub is down, your bot will try to link to the alternative hub instead. Once the alternate bot is linked, it will still try to connect to the hub bot, but will no longer try to connect to any others. If a hub bot is linked later, the connection to the alternate hub is dropped.
s Share This means that your bot will share a userfile with this bot. There is a full explanation of this flag in the sharing instructions.
l Leaf If a bot is marked as a leaf, that means you do not want any Bots to link behind it. It should link only to the hub. In other words, it can only be connected to the botnet through one bot, and no other Bots may connect to the botnet through it.



DCC Commands

These commands are given within a DCC chat session with the bot, and always begin with a dot followed by the command. The most powerful of the bot's commands are done this way. Any user who has access to the bot can also enter into DCC chat with it, using the same method as you would for any other IRC user. There are only two differences:

  • You must have logged in with the bot before attempting to DCC it
  • When you enter the DCC, you will be asked for your password with the bot
  • All DCC commands begins with a dot (example: .help)
  • Items inside [ ]'s are optional.


What it does
addlog <text> Writes your comment into the bot's log file. Bot masters can go back later and review the log, and will see your comment (with your handle attached). This is useful for explaining confusing activity.
away [away-message] Marks you as "away" on the party line. Your away message will show up in the 'who' list, and will be displayed to anyone who tries to send you a note. Your notes will be stored, and then displayed to you as soon as you are no longer away. Saying something on the party line will automatically remove your "away" status, or you can type '.back' or '.away' by itself.
banner <text> Displays a message to everyone currently using the bot's partyline or file area – useful for announcing that the bot will go down, etc.
binds [type] Shows the TCL bindings in effect, in a list similar to this:

Command bindings:


msg -|- rose 0 msg_rose

msg -|- go 0 msg_go

DCC m|- bind 0 cmd_bind

pub -|- gross 0 pub_gross

The fields should be self-explanatory, except for HITS, which records the number of times that binding has been called. If not, go read the file 'TCL-commands.doc' for help on the TCL bind command. Note that the built in commands are now shown. You may also specify a type of binding to show (ie, '.binds msg' ) if you want to narrow the field a bit.

binds [type] all Displays all the TCL bindings of every type (or the specified type), including the bindings for built in commands such as:

msg - op *msg:op

boot < nickname> [reason]

boot <nick@bot> [reason]

Will kick a user off the party line, and display the reason if you give one. You can attempt to boot someone from another bot (in a botnet), though it may be rejected if that bot does not allow remote boots. You can not boot the bot's owner.
+bot <bot> <address:botport#[/userport#]> [hostmask] Creates a user record for a new bot with the nickname given. The hostmask table will have one entry, either that specified a host from a current user with the given nick, or "none" and the bot (b) flag will be set for the user. The internet address field of the user will also be set to the address given. You can use this command and 'chpass' to completely set up a record for a future bot, or you can let the two bots negotiate a password for themselves the first time they link. If the bot has a separate port for bots and users they should be separated with a slash (/).
botinfo <botnick> Requests information from every bot currently in the botnet. Each bot should eventually send you one line listing its version and other information
bots Shows the list of bots currently in the botnet.

Example: Bots: cEvin, ruthie, Killa1

There is no indication of which bots are directly connected to this one. Use 'who' or 'bottree' for that information.

bottree Shows a tree-format diagram of the bots currently in the botnet. It's just a nice way to get a feel for how the bots are connected physically. If 2 bots are sharing, a + will be indicated, or a ? if nothing is known. Use vbottree if you want to see know bot versions. See also: bots, botinfo
chattr <nick> [attributes] [channel] Lets you view and change the attributes (flags) field for a user. For example, to give Lamer the p and f flags:

.chattr Lamer +pf

Or to remove Denali from the global op list:

.chattr Denali –o

You may also do any combination of the above:

.chattr Fred1 -m+xj-o

You can also change the flags for Usagi on a specific channel by supplying the channel after the attributes:

.chattr Usagi -m+dk-o #blah

Changing global and channel specific flags within the same command line is now possible! Example:

.chattr Bill f|o #lamer (global +f, +o #lamer)

Whether or not you change any flags, it will show you the user's attributes afterwards. To get a list of the flags possible, do 'help whois'

NOTES: Only the owner may add or remove the 'n' (owner), 'm' (master) and 't' (botnet master) flags. It is pointless to -n a permanant owner. You must remove the permanant owner in the config file. This command can no longer be used to change bot flags, they are a seprated entity, changeable with the '.botattr' command. See also: whois

chaddr <bot> <address:botport#/userport#> Changes the internet address for a bot. This is the address your bot will try to telnet in order to create a connection and link up. If the bot has a seperate port for bots and users they should be separated with a slash (/). See also: link, +bot
chat <channel # or name> Changes your channel on the DCC chat connection. when you first connect to the bot, it places you on channel 0 (the party line). You can move to another channel where basically nobody can see you (except anyone else who decides to join that channel). Valid channel numbers are 1 thru 99999. Some channels may have assigned names if the assoc module is loaded. For those, you can specify the channel by name instead of number if you wish. '.chat off' removes you from any channel at all. You can still use normal bot commands and see the console, but you can't talk to anyone except via '.note'. 'chat on' returns you to the party line (channel 0) if you were elsewhere.
chnick <oldnick> <newnick> Changes the handle/nickname of a user record. For example, to change the nickname of user 'gavroche' to 'jamie', you would type: 'chnick gavroche jamie'
chpass <handle> [newpass] Changes a user's password on the bot. If you leave off the new password, the user effectively no longer has a password set. A password is needed to get ops, join the party line, and other things (but only required if one is set). NOTE: In previous versions, setting a password to "nopass" would clear a user's password -- with encrypted passwords, this no longer works!
comment <user><comment> Creates or changes the comment field for a user. The comment field can only be seen via 'user' or 'match'. Non-masters cannot see the comment field.
console [channel] [modes] Changes your console level, so that you will see only those types of console messages that you want to. Your current console channel is the channel (that the bot is on) which you can view from the party line, and which channel-specific commands (like 'say' and 'op') take affect on.

Valid levels are:

m display private msgs/ctcps to the bot

p display public talk and ctcps on the channel

k display kicks/bans/mode changes on the channel

j display joins/parts/nick changes/signoffs/etc on the channel

b display bot links/unlinks/userfile-sharing

s display server messages and connect/disconnects

w display msgs between IRCops (wallops)

Channel master only:

c display user commands (DCC and msg)

o display other bot notices [HIGHLY RECOMMENDED]

Master only:

x display file transfers and file-area commands

d display debug messages that only coders would care about

Owner only:

r display all raw text from the server (if enabled)

v display raw text SENT to the server (if enabled)

There are also 8 user-defined console modes '1' thru '8' --

The mode can also be a modifier like '+p' or '-jk' or '+mp-b'. If you omit the channel and modes, it will show your current console channel and setting.

console <user> [channel] [modes] Is used to set the console level of another user. This can even be used on users who normally would not be able to set their own console mode.
dccstat Displays a table-format list of all the "DCC" connections the bot is handling. "DCC" means "direct client-to-client communication" and eggdrop expands this to cover every open socket. so any type of network connection to the bot is considered a "DCC" connection. the headings of the table are:

SOCK the socket of this connection (always unique)

ADDR the IP-number of the host the connection is to, if applicable

PORT the port number being used for communication

NICK the nickname of the user or bot, if it's a user or bot

HOST sometimes, the hostname corresponding to the IP address

TYPE the type of DCC connection (see below)

The types of connection currently possible are as follows (but more are being added literally all the time):

chat user in DCC-chat command mode

pass -user entering DCC chat (being asked for her password)

send - raw data connection: user sending a file

get - raw data connection: sending a file to a user

getp - pending get (waiting for the user to acknowledge)

lstn - telnet listening port (in place of a hostname, it will show the proc to call, or mask of acceptable nicks)

t-in - incoming telnet user (being asked for his nickname)

file - user in DCC-chat file area

bot - bot linked in (aka botnet connection)

bot* - pending bot link (waiting for acknowledgement)

rela - user in relay connection to another bot

>rly - bot being relay'd to (one for each "rela")

conn - pending telnet connection (chat, relay, bot-link, etc)

new - new user via telnet, entering a handle

newp - new user via telnet, entering a password

In addition, 'chat' and 'bot' have flags listed for each connection. Capital letters mean the flag is on, and lowercase letters mean the flag is off.

For 'chat', the flags are:

C in file area, but allowed to return to party line

P party line access only (no +o access)

T telnet connection (instead of DCC chat)

E echo is on

P use is paging

For 'bot', the flags are:

P ping sent, waiting for reply

U user-file sharing is active

C this bot initiated the connection

O user-file offered, waiting for reply

S in the process of sending the user-file

G in the process of getting the user-file

W warned this bot to stop hubbing

L leafed bot (not allowed to hub)

I bot is currently in the 'linking' stage

A bot is being agressively shared with for 'chat' users, the party-line channel is also listed.

debug Will display a dump of memory allocation, assuming the bot was compiled with DEBUG defined. It's useless to anyone but programmers hacking on the bot and trying to find memory leaks.
die [reason] Kills the bot. The bot goes offline immediately, logging who gave the 'die' command. You shouldn't have to use this too often. If you specify a reason, It's logged, otherwise the reason is "authorized by <nick>".
echo <on/off> Sets whether you want your messages echoed back to you. If it's on, then when you say something on the party line, it will be displayed to you just like everyone else will see it. If it's off, then that won't happen.
fixcodes Use this in those situations where the bot gets mixed up about your type of connect, eg: when you /ctcp chat the bot & it thinks you're telnetting, and you're actually using DCC, it effectively switches telnet on and off.
+host <nick> <hostmask> Adds a hostmask to a user's record on the bot. The hostmasks are where the bot will identify that user from. Usually you will not need to use this command since a user can add hostmasks to her own record via the /MSG IDENTcommand, but it's here if you need it.
-host <hostmask>

-host <nick> <hostmask>

Allows you to remove a host for youself or a hostmask from another user's record on the bot. See also: +host
+ignore <hostmask> [comment] Adds a hostmask to the ignore list, with your nickname and an optional comment. A ignore added manually like this becomes "permenent", ie, it will not expire automatically. To make the bot stop ignoring this hostmask, you must eventually use a '-ignore' command. This command can be used to either ignore users on irc, or to ignore incoming telnet connections. See also: -ignore, ignores
-ignore <hostmask OR number> Removes the ignore from the list of ignores stored on the bot -- You may also reference the ignore by the number shown in ' ignores’. See also:

+ignore, ignores

ignores [wildcard] Lists the hostmasks that the bot is currently discarding msgs, etc from. The ignores are numbered, so they can be easily removed with '-ignore' by number. a permanent ignore looks like this:

[ 1] *!onaji@* (perm)

Xerxes: spamming me

Started 18:38

This kind of ignore can only be stopped by using '-ignore' . Xerxes is the one who added it, and his comment is "spamming me". he added it at about 18:38 today. A temporary ignore looks like this:

[ 2] *!* (expires at 19:59)

MyBot: msg/notice flood

Started 18:59

That means the ignore was made automatically by the bot at 18:59, Because someone flooded it. It can be removed with '-ignore' , or it will expire an hour after it started (this is set in 'ignore-time' ). If you use 'ignores <wildcard>' it will list all the ignores that match against your wildcard. See also: +ignore, -ignore, set ignore-time

link [some-bot] <new-bot> Tries to link in a new bot. If you use the form .link newbot then your bot must have a record for the new bot (see '.+bot' ). you can eitheret a password on each end or they will negotiate one the first time they link. If you use the form .link somebot newbot then the request will be sent to "somebot" for it to link to "newbot".
loadmod <module> Loads a module.
match <attr> [channel] [[start] limit] Shows you user records with the attributes requested: <attr> is of the form: <+/-><global>[&/|<channel>[&/|<bot>]] specifying & as the speperator, will cause AND style matching, | will cause OR style matching, channel flags are match vs the specified channel (or your console channel), and bot is match vs the sepreate bot flags.Some examples:

.match +o will match any GLOBAL +o's

.match -o&+o will match anyone without a global +o AND

with a channel +o on your console channel

.match +f|+f will match anyone with a global +f or a

channel +f on your console channel

.match |f #fred will match anyone with +f on channel #fred

match <wildcard-string> [[start] limit] Shows you user records where the nickname or any of the hostmasks match the wildcard string shown. The default limit is 20, meaning that if more than 20 user records matchyour requirements, only the first 20 will be shown. You can change this limit by specifying one on the command line, though. If you include a limit, you may also include a starting place (the default is 1). for example, to list the first 15 users who have hostmasks from

.match * 15

To get the next 10 (if there are more than 15), you ask to list numbers

16 thru 25:

.match * 16 25

me <text> Performs an action on the party line
module [modulename Reports the names of currently loaded modules, including dependancies & status report, you can get info only on a specific module by specifying it.
modules <botname> Requests a listing of the modules running on the remote bot
motd Will redisplay the party-line message of the day, which was shown when

you first joined.

newpass <password> Changes your password on the bot, just like the /msg command 'pass',

except you don't need to type your old password.

nick <new-nick> Changes your nickname on the bot. that's the handle that the bot will know you as forever and ever, and what you have to use when telnetting in or IDENT'ing yourself, so remember it.
note <nickname[@bot]> <message> Sends a private note to a user on the party line. If that user is currently on the party line, and not marked as away, she will receive the message immediately. otherwise it may be stored and displayed the next time that user joins the party line. If you join the channel, and have notes stored for you on the bot, it will tell you. to send a note to someone on a different bot, use "nick@bot" for the nickname. See also: whom, notes
page <# or off> Allows you to slow down the number of lines the bot sends to you at once while you're in chat mode. with this on, any commands that send greater than the specified number of lines will stop when the number is reached, and wait for you to type another command (or press enter) to continue. If you have to many lines waiting to be seen you may be booted off the bot.
quit [comment] Removes you from the party line and disconnects your DCC chat session with the bot. If you specify a comment, it will be displayed to other users as you leave.
rehash Reloads the config file for the bot, which resets all the 'set' variables and reloads any TCL scripts your config loads. It also saves and reloads the user file from disk, just to give your disk a little extra wear. See also: save, reload, restart
  This command gets the bot to recheck all it's help files for new commands that have been added.
relay <botname> Will relay you via telnet to another bot that your bot knows of, whether or not they are currently connected. Your DCC-chat/telnet connection to this bot will be relayed to the other bot until the other bot drops your relay, or until you send "*bye*" on a line by itself. See also: bots
reload Reloads the user file of the bot, discarding any changes made since the last '.save' or hourly user file save. sharebots should probably not ever do this. See also: rehash, save
restart Restarts the TCL interpreter, wipes all timers and utimers, and reloads the config file for the bot, which resets all the 'set' variables and reloads any TCL scripts your config loads. it also saves and reloads the user file from disk, just to give your disk a little extra wear. It's also the most risky command to run, because it's never ever really worked properly. See also: rehash, reload, save
save Makes the bot write its entire user list to the disk. this is useful if you think the bot is about to crash or something, since the user file is only written to disk about once an hour. See also: reload, rehash
set <variable> [value] Changes the values of internal settings of the bot, or, if used without a value parameter, shows the current value of a setting. The bot starts out with settings as given in the configuration file. Here are the variables eggdrop cares about:

mod-path nat-ip DCC-flood-thr die-on-sighup die-on-sigterm remote-boots max-DCC max-logs enable-simul protect-telnet ident-timeout share-unlinks allow-dk-cmds botnet-nick help-path temp-path userfile motd notify-newusers admin owner

my-hostname my-ip network save-users-at switch-logfiles-atconnect-timeout reserved-port log-time require-p keep-all-logs open-telnets firewall console default-flags whois-fields hourly-updates username ignore-time uptime

version numversion telnet-flood

Use '.help set <variable>' for more info on each variable.

simul <nick> <text> If the user is on the party line, the bot will simulate them typing the text you specify.

example: .simul dweeb .quit Makes it just as if "dweeb" typed ".quit". this command will not work unless eggdrop has simul enabled in the config file. Please use this command ethically.


status all

Displays a condensed block of information about how the bot is running. Here's an example from Snowbot:

I am Snowbot, running eggdrop v1.1.1: 400 users (mem: 42k)

Running on BSDI 2.5

Admin: Robey <>

#turtle : 2 members, enforcing "+tn-mlk" (greet, bitch)

#gloom : 3 members, enforcing "+tn-i" (greet)


Online for 4 days, 06:18 (background) CPU 14:18 cache hit 55.3%

The first line tells you the bot's name, what version of eggdrop it's running, the number of users the bot has records of, and the amount of memory being used. The second line, tell what operating system the bot is running under. The third line, if present, is the contents of your 'admin' line in the config file. Next is a line for each of the channels your bot is currently monitoring. for each channel, it lists the number of people on the channel ("members"), what channel modes it's trying to enforce, and which options are set for that channel. If your bot is sharing user files with anyone, and is currently either transmitting or receiving the userfile from a bot, it will say so here, and tell how many users have been received so far, or how many more users need to be transmitted. The next few lines show the current server, and if the helpbot is in use, its nickname and current server. To prevent server flooding, both the bot and its helpbot use queues to store replies to queries from users. If either queue has a

significant amount of information in it, this status display will show how full (%) the queue is. The next line tells you how long the bot has been online, and whether it is operating in the background or foreground. If it's in the foreground, it will tell you whether it's in terminal mode or channel display mode. (terminal mode makes the local console simulate a DCC chat connection, and channel display mode displays a '.status' and '.channel' output every few seconds.) it will also give you an estimate of the amount of CPU time (minutes and seconds) the bot has used so far, and how well the cache is working. (the cache is an attempt to keep the CPU time down, and anything over 50% or so is just great.) If you do '.status all' you will see another pageful of info, showing every internal setting as specified in the config file. It should be self-explanatory to anyone who needs to use it. See also: set, channel, debug

strip [modes] Enables you to remove embedded 'attribute' codes from within a Section of text. Valid options are:

b remove all boldface codes

c remove all color codes

r remove all reverse video codes

u remove all underline codes

a remove all ansi codes

g remove all ctrl-g (bell) codes

The mode can also be a modifier like '+c' or '-bu' or '+ru-c'. If you omit modes, it will show your current setting.

strip <user> [modes] is used to set the strip level of another user, a master can't set their own strip flags without starting the modes with a +/-
su <user> changes your username to that of another. If you are an owner this does not require a password otherwise, you must enter the password of <user>.
trace <bot> Sends out a trace signal to another bot. If that trace signal returns (and it should!) you will get an output something like this:

Trace result -> Valis:Stonewall:NoBoty:SomeBoty it's a list of the bots between you and the destination bot. It should also return the time in seconds it took for the trace to occur. See also: bots, bottree

unlink <bot> Disconnects the named bot from the botnet, assuming it was connected in the first place. some bots (sharebots in particular) might not allow you to unlink them.
unlink * Disconnects from all bots. See also: link, bots, bottree
unloadmod <module> Unloads a module.
+user <nick> <hostmask> Creates a new user record for the nickname given, with one entry in the hostmask table. The new user record will have no flags (i.e. not be a master, op, friend, etc) and no password
-user <nick> Erases the user record for the nickname given. See also: +user, +bot,


who [bot] Lists people on this bot, or bots connected to this bot. The first section is people on your current channel (the party line, if you haven't changed channels) who are on the bot. a '*' next to the nickname means that user is an owner; '+' means they're a master; '@' means they're an op, '%' means they are a botnet master. the user's nickname, hostname, and possibly an idle time and/or away message will be displayed: Owners will also see the users DCC idx *Robey telnet:

The next section is bots directly linked to this one:

-> MagField (14 Oct 01:16) eggdrop v1.0j

The arrow indicates who initiated the connection -- the right arrow means this bot connected to MagField. a left arrow means they connected to us.a '+' next to the arrow indicates that the bot is sharing userfiles with us.The connection time (14 Oct 01:16) and bot version are also shown. Nowadays it may also show the network the bot resides on. Owners will also see the bots DCC idx The final section is a list of users on this bot who are not on your channel. (this section may be omitted if everyone is on the same channel as you.) If you specify a bot's name, as in '.who valis', the who request will be sent to that bot, as long as that bot is on the botnet. Masters may

also see "(con)" after a user's entry, this shows that user's console modes (see

the '.console' help page). In the final section (users that aren't on this channel), masters will see the actual channel other users are on. also, people in the file system will be listed (as being in channel "files") --a '+' next to the nickname here means the user has access to return to the party line. See also: whom

whois <nick> Will show you the bot information about a user record. There are five headings:

HANDLE the handle (nickname) of the user

PASS "yes" if she has a password set, "no" if not

NOTES number of notes stored waiting for the user

FLAGS the list of flags for this user (see below)

LAST the time or date that the user was last on the channel

The valid flags under FLAGS are:

o global op (bot will op this user on any channel)

m master (user is a bot master)

n owner (user is the bot owner)

t botnet master (user is a botnet master)

x xfer (user has file-area access)

j janitor (user is a file-area master)

p party-line (user has party-line access)

c common (user record is a common-access site) [see 'help common']

u unshared (not sent to other share-bots)

b bot (user is another bot)

d global deop (user cannot get ops)

k global auto-kick (user kicked & banned automatically)

f global friend (user is not punished for doing bad things)

v global voice (user get +v automatically on +autovoice channels)

a global auto-op (always op this user on join)

h high-light flag, user sees highlighting in text output

(Plus 26 user-defined flags, A-Z)

Each channel that the user has joined will have a specific record for it, with the channel-specific flags and possibly an info line. The channel-specific flags are:

m master (user is a master for the channel)

n owner (user is an owner for the channel)

o op (bot will give this user chanop)

d deop (bot will not allow this user to become a chanop)

f friend (user is not punished for doing bad things)

k kick (user is auto-kicked)

v voice (user gets +v automatically on +autovoice channels)

q quiet (user never gets +v on +autovoice channels)

a auto-op (always op this user on join)

(plus 26 user-defined flags, A-Z)

Hostmasks for the user are displayed on the following lines. If the user entry is for a bot, there will be a line below which says "ADDRESS:" and gives the bot's telnet address. some user entries may have "EMAIL:" and "INFO:" entries too. There may be additional information displayed depending on the modules loaded.

For bots, there are additional flags seen under the BOTATTR: entry, these


s share (bot is sharing user records, aggressively)

p share (bot is sharing user records, passively)

g global share (share all channels)

h hub (bot is auto-linked at highest priority)

a alternate (bot is auto-linked if no hub bots can be linked)

l leaf (bot is not allowed to link in other bots)

r reject (bot will not be allowed on the net)

i isolate (isolate the party line across a botlink)

(plus 10 user-defined flags, 0-9)

Bots may also have +s (share) settings for individual channels masters: if there is a comment, you will see it under "COMMENT:" See also: match

whom [channel] Will display a table of the users currently on the joint party line (formed when you have two or more bots linked together). It will show each user's nickname, preceded by a

"*" if they are the owner of their bot, "+" if they are a master, "%" if they are a botnet master "@" if they are an op.

In other columns it will show which bot the user is on, and his or her host. If the user is away, the away message will be shown. likewise, if they are idle, the idle time will be displayed. If you are on a different channel than the party line (channel 0), then this will show the people on every bot who are on your current channel. You can also optionally give the"channel" option to list who is on a particular channel. See also: who,

bots, chat

Help for the assoc Module
Command/Syntax What it does
assoc Displays a list of current botnet channel names.
assoc <channel #> <name> Creates a name for a channel. The name will propagate across your botnet (if you're hooked into one) and can be used instead of the channel # when changing chat channels (see '.chat'). If you omit the channel # and name, it will just dump a list of the current named channels.
assoc <*channel #> <name> Creates a name for a local channel. These channels are local to the bot itself.
assoc <[*]channel #> Wipes out the name for a channel, if there was one.
Help on the channels module

The channels module provides the means for STORING channel information about users, it OES NOT provide the means for sitting on a channel (this is in the irc module). The following commands are provided by the channels module:

Command/Syntax What it does
+ban <hostmask> [channel] [%bantime <XdXhXm>] [comment] Adds a ban to the list of permanent bans stored on the bot, with optional comment and bantime. This ban will be in effect for every channel on the bot if no channel is supplied, and is stored with your nickname and comment. Prefixing a comment with @ will make it only visible within the bot. Bantime has to be expressed in days, hours and minutes. See also: bans, -ban, stick, unstick
-ban <hostmask OR number> Removes the ban from the list of permanent bans stored on the bot – you may reference the ban by the number shown in '.bans'. See also: bans, +ban,

stick, unstick

bans [[channel] wildcard]

bans all

Shows you a list of the global bans active on the current channel, and the list of channel-specific bans, as well as any bans that are on the channel but weren't placed by the bot.

Here's a sample entry;

[ 5] *!*habib@* (perm)

paulie: revolving check policy

Created 15:10

The number (5) can be used to reference the ban if you wish to remove it (see '.-ban'). Next is the actual hostmask being banned. The "(perm)" means that the ban is "permanent": that is, it doesn't automatically expire. If there is an elapsed time showing instead, the time displayed is how long the ban has been active. Those kind of bans expire after one hour. The second line of the ban entry is the comment ("revolving check policy"-- it would seem that paulie had to stand in line for a while) and who put the ban there (paulie). The last line shows when the ban was added, and possibly the last time the ban was activated on the channel (if it's different from the creation time).Sometimes there will be a "!" or "*" right before the number. a "!" means the ban is in the bot's permban list, but is not currently on the channel. a "*" marks a ban which is NOT in the permban list but IS on the channel. After you use 'bans' it will show you only the bans which are currently in action on the channel. If you use 'bans all' it will show you every ban

in memory (with 'perm-bans' on, these are identical). If you use 'bans <wildcard>' it will list all the bans (active or not) that match against your wildcard. Consider it a 'bans all' list matched against your wildcard. The ban list may change according to which channel you're currently viewing in the console. Different bans may be active on different channels. If you specify a channel name, that channel will be used instead of your current console channel. See also: -ban, +ban, console, set ban-time, stick, unstick

+chan <channel> Let’s you add another channel to the bot, this cause the bot to join the channel, and for you to make changes to it's settings. This channel is not permanent unless "chanfile" has been defined in the config file, and is saved everytime the userfile is saved, or by using '.chansave' See also: +chan, -chan, chanload, chanset, chaninfo
-chan <channel> This removes ALL information about a channel from the bot. It's notmade

permanent unless a channel-file has been defined in the user file, in which

case it's saved each time the usefile is, or by using .chansave.


This erases ALL information about the channel, including channel settings

and channel records for users-- EVERYTHING .

DO NOT use it to have the bot temporarily leave a channel. This command is

for abandoning a channel (e.g. the channel will have to be redefined and

all user flags for that channel will have to be redone.

Even if you don't have chanfile defined, it will still erase all the channel

records for users on the next userfile save. See also: +chan, chansave,

chanload, chanset, chaninfo

chaninfo <channel> This lists all the settings for the bot on the given channel. It shows any of the following:

chanmode: which modes are enforced on the channel, both + and -

modes can be enforced

idle-kick: kick idle users (non +f's anyway) on the channel after how many minutes (use 0, or no-idle-kick to turn this off)

need-op: TCL command to execute when the bot doesnt have ops

need-invite: TCL command to execute when the bot needs to be invited to the channel (ie channel has mode +i)

need-key: TCL command to execute when the bot needs to find out the key to the channel

need-unban: TCL command to execute when the bot is banned and can't get

on the channel

need-limit: TCL command to execute when the bot can't join the channel

because the channel is full

The following can be set + or - (eg .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 channl

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.

The following are flood settings, they are set by going .chanset flood-type number:seconds where number & 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 & actions

flood-ctcp: this defines the flood level for ctcp's to the channel (include

PING & 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

See also: +chan, -chan, chansave, chanload, chanset

chanload Reloads the channel settings from the file defined by the "chanfile"

setting. This allows you to return to a previous setting if you've really

messed things up. See also: +chan, -chan,

chansave Saves the channel settings to the file defined by the "chanfile" setting.

This file is reloaded during rehash and restarting the bot. This allows you

to change channel modes without having to edit the config file every time.

See also: +chan, -chan

chanset <channel> <settings> Allows you to change the channel settings for a channel. (See '.help chaninfo' for the settings) These are used until the next rehash/chanload/restart, and are saved whenever the channel settings are saved. See also: +chan, -chan
chinfo <user> [channel] [info-line] Sets the information line for a user. This line is shown via /msg commands ‘who' and 'whois' , and if you have set greet on, it is shown when a user joins the channel. If the info line begins with a '@', then it is "locked", and that user may no longer change it. If the channel name is omitted, the default info line is changed.
chinfo <user> [channel] none Erases a user's info line. See also: info
+chrec <handle> [channel] Adds an empty channel record for the user so that channel lastons and info lines can be saved. No flags are associated with the channel.See also: chattr
-chrec <handle> [channel] Deletes a channel record for the user, including channel lastons, info lines, and flags.
stick <hostmask OR number> Makes a ban "sticky" -- meaning the bot will always try to keep the ban active on the channel, even if the channel is using dynamic bans. obviously if the channel isn't using dynamic bans, this has no effect. see also: bans, unstick, +ban
unstick <hostmask OR number> Turns a "sticky" ban normal again. See also: bans, stick, -ban
Help for the console module

The console module provides the ability to store your console settings so that next time you use the party line they are set. You can use the '.store' command at any time to store it, or it may be configured to save automatically.

Command/Syntax What it does
set console-autosave 0/1 When this flag is set, a users console settings are automatically saved for the next time the user joins the party line. See Also: store
set force-channel <chan#> This specifies the channel to dumb users who have no stored console settings on, 0 is the party line, 1-99999 are global chat lines & 10000-19999 are bot-only chat lines.
set info-party 0/1 When set, this flag causes a users info line to be displayed to the *current* chat channel when they join it.
Help on the ctcp module

This module provides all the normal ctcp replies for the bot, including handling of DCC chat.

Command/Syntax What it does
set ctcp-finger <text> Specifies the response to send to a CTCP FINGER request. one example is: Robey (robey@wc130), idle 0 seconds

see also: set ctcp-version, set ctcp-userinfo

set ctcp-version <text> Specifies the response to send to a CTCP VERSION request. one example is:

ircII 2.8 Linux 1.2.4 :ircii 2.6: almost there...

see also: set ctcp-finger, set ctcp-userinfo

Help on the transfer module

This module provides support for file transfers by the bot. It's used by both the share and filesys modules.

Command/Syntax What it does
set xfer-timeout <#> sets the number of seconds to wait before a DCC send/get is considered to

have timeout, if no traffic occurs on the transfer for the given time, it closes.

set copy-to-tmp <0/1> Sets whether files will be copied into your /tmp directory before they are sent to users who download them from the file system. turning this on protects ongoing transfers from being affected by people moving files around in the file system, but if you're short of disk space or using a slow disk (** NFS **), you should probably turn this off.
set DCC-block <#> Specifies the block size to use in DCC file transfers. The ircII client defaults to 512, but admits that it may be too small. Most toolboxes set it to 1024. You can set this to 0, which turns on "turbo DCC". In turbo DCC mode, the bot will dump transfers as fast as possible, only stopping to count acks after it's finished. This can dramatically improve the speed of file transfers, and is recommended.
set max-dloads <#> specifies the maximum number of downloads (DCC gets) a user can have going at once. to effectively disable this, set it to 99. the default is 3. When a user reaches this limit, she will be unable to 'get' any more files from the file area until either the current transfers complete, or any pending transfers eventually timeout
set ctcp-userinfo <text> Specifies the response to send to a CTCP USERINFO request. see also: set ctcp-version, set ctcp-finger
Help on the IRC module

The IRC module provides DCC commands

Command/Syntax What it does
act [channel] <text> Performs an action on the current console channel (or otherwise specified

channel), as if the bot did it. Just like the /me command in IRC. See also: console

channel [channel-name] Shows you an extensive display of the users on a channel, and the current

channel attributes. By default, it shows you the channel you are currently viewing on the console, but you can specify another channel if you wish.

The first line will look like:

Channel #hiya, 8 members, 45 users, mode +tn:

This means that the bot is sitting on channel #hiya, where 8 other irc'ers are. There are 45 people that the bot knows by hostmask, and the channel mode is +tn. If the bot isn't on the channel it is supposed to be on, it will say "Desiring channel #hiya" instead. Next is a list of the users on the channel, with each entry looking like this:


@kantSF kantSF 14:53 o 6m

The "@kantSF" means that the user's nickname is kantSF and that he is a chanop. The second "kantSF" is the nickname that the bot knows him by. Sometimes this will differ from the nickname a person is using. The time displayed is the time the user joined the channel. The next field is the attributes:

n - bot owner o - can get ops (+o)

m - bot master or owner f - channel friend

b - another bot d - cannot get ops (+d)

The last field is the user@host he is using irc from. See also: status, whois

deop <nick> [channel] will remove chanop from the person you specify, so long as the bot is opped on that channel, and the person you specify isn't on the bot's list of authorized chanops. see also: op, console
say [channel] <text> dumps the text to your current console channel (or other specified channel), as if the bot "said" it.
invite <nick> [channel] invites someone from irc into your current console channel (or specified other channel). this is most useful when the channel is +i. a user with the +o flag can also request an invite from the bot with /MSG INVITE see also: console
kick [channel] <nick> [reason] will kick a user off your current console channel (or specified other channel) with the comment given. if you omit the reason, the default kick comment is requested". see also: kickban, console
kickban [channel] <nick> [comment] Kicks a user off the channel and bans her by a reasonable host- mask. your nickname will be attached to the ban in the bot's internal ban list, and the ban will last for whatever is set in ban-time -- only on this channel. use '.+ban' for a more permanent ban which will be activated on every channel the bot monitors. if you use a comment, that will also be attached to the ban in the ban list, and used as the kick comment. see also: +ban, bans, stick
op <nick> [channel] Will grant chanop to the person you specify, so long as the bot is opped on that channel, and the person you specify isn't being actively deopped by the bot. see also: deop, console
topic <text> changes the channel's topic, assuming the bot is a chanop or the channel is not +t (uses your current console channel). see also: console
msg <nick> <text> sends a private message to someone from the bot, just as if the bot had typed /msg.
adduser <nick> [handle] Creates a new user record for a user on the channel, using their current hostname. It's similar to a user msg'ing the bot 'hello' except that no information is sent to that user. If the bot already knows someone by that nickname, and the user on the channel doesn't have a bot record, then it does the equivalent of an 'ident' for that user -- except that, again, no information is sent to the user telling them that anything was done. If the user is using a different nickname than the bot normally knows her by, you can specify her "handle" (the nickname that the bot remembers).see also: +host, -host, +user, -user
deluser <nick> Deletes a user record for a user on the channel, using their current hostname. Channel masters can remove users so long as the user isn't a bot master. see also: adduser, +user, -user
reset [channel] Clears out the bot's channel information and makes it gather the information from the server all over again, as if it had just joined that channel. it's not really useful much, but could be if an odd bug causes the channel information to get scrambled. unfortunately this command used to get a lot of use. you can omit the channel name to make it reset ALL channels.
set learn-users <0/1> Specifies whether the bot will add users on the fly when they send the "hello" msg. if turned off, the only way to add users is with the '.adduser' or '.+user' commands. if turned on, users can introduce themselves without your intervention.
set wait-split <#> Allows you to set the number of seconds to wait before considering a split user as gone for good
help wait-info No help available on that.
set modes-per-line <3-6> This allows you to set the number of mode changes the bot will send in one line, the irc default is 3 but some networks these days allow up to 6or more mode changes.
set mode-buf-length <#> Most servers limit the amount of data that can be sent in the arguments of mode changes, this setting allows you to match it, should your server beusing a non-standard setup (200 is standard)
set bounce-bans 0/1 Do you want the bot to unban any bans set by servers?
resetbans Resets the ban list on the channel you're currently viewing in the console. any bans on the channel that aren't in the ban list (either the global list or the local channel ban list) will be removed, and if there are any bans in the global ban list or channel ban list that are not currently on the channel, they will be added. See also: bans, reset, console
Help on the notes module

This module provides the means for storing & retreiving notes at a later stage.

Command/Syntax What it does
notes index

notes read <# or ALL>

notes erase <# or ALL>

Lets you manipulate notes that have been stored up for you while you were gone. 'notes index' gives a listing of all the notes stored up: who they are from, and when they were left. 'notes read' lets you read some or all notes, according to a list of numbers and/or intervals separated by semicolon. and 'notes erase' erases notes after you are done with them.ex: notes erase 2-;8;16-

see also: note, whom

fwd <handle> [desto] This allows you to set a note forwarding address for a user. This means if a note needs to be stored for the user, the bot will attempt to pass it on to the given user@bot. If the bot is not online then the note is still stored locally, if the other user doesn't exist, the note is lost.
set note-life <#> Sets the number of days to hold a note before expiring it (erasing it from the bot).
set max-notes <#> Sets the maximum number of notes a user may have stored for them on the bot. once this is full, no more notes will be accepted for the user.
set allow-fwd 0/1 This setting determines if note forwarding is permitted. If a note is about to be stored (since the user is note currently online) and they have a forwarding setting and this value is 1 the note will be forwarded to the appropriate user
set notefile <filename> Specifies the filename where bots should store notes that are sent to. Someone who isn't on the party line currently. normally, you don't want to change this after the first time you load the bot. if you want to disable note storage, set this to "" (blank), or unload the notes module.
Help on the seen module

This module provides the classic 'seen' command, which returns the last time a user was seen by the bot, both DCC & msg commands are provided

Command/Syntax What it does
Help on the seen module

This module provides the classic 'seen' command, which returns the last time a user was seen by the bot, both DCC & msg commands are provided

Command/Syntax What it does
seen <handle> Returns the last time <handle> was seen by the bot
Help on the server module

This module provides all that's need to get a bot on a server and sitting there, it provides server connection, raw irc, private message/notice/ctcp handling

Command/Syntax What it does
servers Lists the servers that the bot has in its server list. this is the list it rotates through when changing servers. it starts with a static list, which it loads from its config-file when the bot is booted up. after that, you can add servers with the '.jump' command. the server list will indicate which server the bot is currently on.
dump <text> Dumps the text to the server. keep in mind that this bot doesn't run through ircII, so ircII commands will most likely not work this way. they need to be raw irc codes. read rfc1459 from for morehelp.
jump [server [port]] Makes the bot jump to another server. if you don't specify a server, it will jump to the next server in its internal list (see 'help servers' ). if you specify a server, it will jump to that server (default port is 6667), and if that server is not in the internal list already, it will add it. Jumping servers ALWAYS makes the bot lose ops! be careful!