Eggdrop Basic Usage Guide

Eggdrop is a popular IRC bot, written in C, offering an interface for TCL scripts to make the bot perform many useful functions. Eggdrop bots are used primarily for channel maintenance (maintaining ban lists, holding ops, preventing channel floods etc), and ancilliary functions such as trivia games, keeping track of when users were last seen etc.

Eggdrop bots can be linked together into a botnet, a network of interconnected bots, allowing them to work together to manage the channel, sharing userlists etc. The netbots.tcl script provides a lot of useful functionality for interconnected bots. One of the bots must be configured as a hub bot, to which the others connect. You can provide an alternate hub bot in case the primary hub bot becomes unavailable. On a larger botnet managing busy/often attacked channels, it can be a good idea to have the primary hub bot not conenct to IRC, and solely deal with the other bots (this is called a limbo bot).


You connect to an eggdrop bot's 'partyline' in one of two ways:

  • Via DCC CHAT - initiate a DCC CHAT request to the bot. If you're behind a firewall, you can use /CTCP <botnick> CHAT to request the bot to initiate a DCC CHAT to you instead.
  • Via telnet - telnet to the hostname and port of the bot, and log in as normal.

Once you're on the partyline, you can issue commands to the bot, and also talk to any other users who are on the partyline. If the bot is part of a botnet, the partyline extends to those bots, so you will be able to talk to any users who are connected to those bots too.

All commands begin with a full-stop (.) to show them as a command, anything you type that doesn't start with a dot is treated as a message to be displayed to everyone else on the partyline.

Partyline Commands

The most important command to remember is .help which will tell you everything you need to know. You can find detailed information about other commands, using .help <command>.

Adding users to the userlist

There are two commands to add users to the userlist, .+user and .adduser.

.adduser <nick> adds a user to the bot using their current hostmask - it will only work if the user is currently in a channel that the bot is in. Be aware that the hostmask it creates may be too generic, as it tends to use wildcards. For example, if you have two users, one with the hostmask bob! and another with the hostmask bert!, the .adduser command may use the hostmask *!bob@* which would match both. For that reason, it's often better not to be a lazy bastard, and use .+user instead:

.+user <handle> <hostmask> adds a user to the bot with the given hostmask.

Changing users flags

Users can be given different flags which give them different permissions.

The user's current flags can be found with .match <handle>, which will output something like:

*** Matching 'bigpresh':
bigpresh  yes      0 fhjlmnoptx      18:01 (#preshtest)
Saved Console Settings:
     Channel: #hertslug
     Console flags: mkcobs, Strip flags: -, Echo: yes
     Page setting: 0, Console channel: 0
--- Found 1 match.

Global flags

Flags are set using .chattr <nick> <flags>, multiple flags can be set in one command, examples:

.chattr someuser +f
.chattr someuser +fgv
.chattr someuser +v-o
Flag Meaning
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
w wasop-test (needs wasop test for +stopnethack procedure)
e global exempted from stopnethack
g give auto-voice (works as +a but for voice instead)

There are also the user defined flags A-Z (generally used by add-on scripts).

Channel-specific flags

Flags are set with .chattr <handle> <flags> <channel>, examples:

.chattr someuser +fgv #channel
.chattr someuser +o #channel
Flag Meaning
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)
w wasop-test (needs wasop test for +stopnethack procedure)
e exempted from stopnethack
g give auto-voice (works as +a but for voice instead)



irc/eggdropguide.txt · Last modified: 2010/02/26 10:45 (external edit)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki