#eggies logo
  ---
#eggies

  - Home
  - FAQ
  - Log Snippets
  - Networks

---

Help

  - Installing your Eggdrop
  - Configuring your Eggdrop*

---

Downloads

  - Latest Eggdrop
  - Eggies TCL scripts
  - BSeen TCL Archive
  - Egghelp TCL Archive

---

Helpful Links

  - Eggheads (guppy)
  - Egghelp (slennox)
  - More Links
  - RFC 1459

---

Extra

  - Installing FastBase SQL
  - Installing from CVS

---

#Eggies Crew

  - Crew Overview
  - Mail SiD3WiNDR
  - Mail Wanderer

---

Sign up with PayPal

---

XHTML 1.0 Compliant CSS Compliant

     Linux Powered

          Linux Powered Server

[ Configuring your eggdrop ]

 .:: Configuring your eggdrop
This is the complete config file for eggdrop 1.6.9 (eggdrop.complete.conf). We will try to explain how most of the settings work.

If this is your first eggdrop, you can also start with eggdrop.simple.conf, but there are a lot less options...
Somewhere in between is eggdrop.advanced.conf.


  Legenda:
## statement to be filled in
## comments in the .conf
## #eggies hints & recommendations
## windrop specific

#! /path/to/executable/eggdrop

Set this to the path of your eggdrop executable. For example, if your home directory is /home/eggie, and your eggdrop is installed in the default location (~/eggdrop), this line should read:

#!/home/eggie/eggdrop/eggdrop

NOTE: The # must stay!

If you're running a windrop this doesn't make any difference.

# ^- This should contain a fully qualified path to your eggdrop executable.
#
# $Id: config.inc,v 1.1.1.1 2003/12/07 14:30:24 tom Exp $
#
# This is a sample eggdrop configuration file which includes all possible
# settings that can be used to configure your bot.
#
# More detailed descriptions of all those settings can be found in
# doc/settings/.


##### BASIC SETTINGS #####

# This setting defines the username the bot uses on IRC. This setting has
# no effect if an ident daemon is running on your bot's machine.
set username "lamest"

If the box you're running the bot on does not run an ident daemon (if you IRC from it, your ident portion has ~ in front), the username you specify here will be used as ident value (although prefixed with ~).

# This setting defines which contact person should be shown in .status,
# /msg help, and other places. You really should include this information.
set admin "Lamer <email: lamer@lamest.lame.org)"

Set this to your nick and perhaps your email address so people can contact you about your bot.

# This setting is used only for info to share with others on your botnet.
# Set this to the IRC network your bot is connected to.
set network "I.didn't.edit.my.config.file.net"

Set this to the IRC network your bot will be running from (e.g. "Undernet").
Many scripts use this to act in a special way according to the network variable.

# This setting defines the timezone is your bot in. It's used for internal
# routines as well as for logfile timestamping and scripting purposes.
# The timezone string specifies the name of the timezone and must be three
# or more alphabetic characters. For example, Central European Time(UTC+1)
# should be "CET".
set timezone "EST"


# The offset setting specifies the time value to be added to the local # time to get Coordinated Universal Time (UTC aka GMT). The offset is # positive if the local timezone is west of the Prime Meridian and # negative if it is east. The value (in hours) must be between -23 and # 23. For example, if the timezone is UTC+1, the offset is -1.
set offset "5"


# If you don't want to use the timezone setting for scripting purposes only,
# but instead everywhere possible, un-comment the following line.
#set env(TZ) "$timezone $offset"

# If you're using virtual hosting (your machine has more than 1 IP), you
# may want to specify the particular IP to bind to. You can specify either
# by hostname or by IP. You may also want to set the hostname here if
# eggdrop has trouble detecting it when it starts up.
#set my-hostname "virtual.host.com"
#set my-ip "99.99.0.0"

# If you want to have your eggdrop messages displayed in a language other
# than English, change this setting to match your preference. An alternative
# would be to set the environment variable EGG_LANG to that value.
#addlang "english"


##### LOG FILES #####

# Eggdrop is capable of logging various things, from channel chatter to
# commands people use on the bot and file transfers. Logfiles are normally
# kept for 24 hours. Afterwards, they will be renamed to "(logfile).yesterday".
# After 48 hours, they will be overwritten by the logfile of the next day.
#
# Events are logged by certain categories. This way, you can specify
# exactly what kind of events you want sent to various logfiles.
#
# The most common log file flags are:
# m private msgs/ctcps to the bot
# k kicks, bans, mode changes on the channel
# j joins, parts, netsplits on the channel
# p public chatter on the channel
# s server connects/disconnects/notices
# b information about bot linking and userfile sharing
# c commands people use (via msg or dcc)
# x file transfers and file-area commands
# r (if use-console-r enabled) EVERYTHING sent to the bot by the server
# o other: misc info, errors -- IMPORTANT STUFF
# w wallops: msgs between IRCops (be sure to set the bot +w in init-server)
#
# There are others, but you probably shouldn't log them, it'd be rather
# unethical. ;) There are also eight user-defined levels (1-8) which
# are used by Tcl scripts.
#
# Each logfile belongs to a certain channel. Events of type 'k', 'j', and 'p'
# are logged to whatever channel they happened on. Most other events are
# currently logged to every channel. You can make a logfile belong to all
# channels by assigning it to channel "*".

# This is the maximum number of logfiles allowed. This setting can be
# increased; however, don't decrease it.
set max-logs 5

# This is the maximum size of your logfiles. Set it to 0 to disable.
# This value is in kilobytes, so '550' would mean cycle logs when it
# reaches the size of 550 kilobytes.
# Note that this only works if you have keep-all-logs 0 (OFF).
set max-logsize 0

# This could be good if you have had problem with the logfile filling
# your quota/hard disk or if you log +p and publish it to the web and
# need more up-to-date info.
# Note that this setting might increase the CPU usage of your bot (on
# the other hand it will decrease your mem usage).
set quick-logs 0

# This creates a logfile named eggdrop.log containing private msgs/ctcps,
# commands, errors, and misc. info from any channel.
logfile mco * "logs/eggdrop.log"

# This creates a logfile named lamest.log containing joins, parts,
# netsplits, kicks, bans, mode changes, and public chat on the
# channel #lamest.
logfile jpk #lamest "logs/lamest.log"

# Use this feature to timestamp entries in the log file.
set log-time 1

# If you want to keep your logfiles forever, turn this setting on. All
# logfiles will get suffix ".[day, 2 digits][month, 3 letters][year, 4 digits]".
# Note that your quota/hard-disk might be filled by this, so check your logfiles
# often and download them.
set keep-all-logs 0

# If keep-all-logs is 1, this setting will define the suffix of the logfiles.
# The default will result in a suffix like "04May2000". "%Y%m%d" will produce
# the often used yyyymmdd format. Read the strftime manpages for more options.
# NOTE: On systems which don't support strftime, the default format will
# be used _always_.
set logfile-suffix ".%d%b%Y"

# You can specifiy when eggdrop should switch logfiles and start fresh. You must
# use military time for this setting. 300 is the default, and describes 00:00.
# Note that a leading 0 will make Tcl think this is an octal value,
# something you probably don't want.
set switch-logfiles-at 300

# "Writing user file..." and "Writing channel file..." messages
# won't be logged anymore if this option is enabled.
set quiet-save 0


##### CONSOLE #####

# This is the default console mode. It uses the same event flags as the log
# files do. The console channel is automatically set to your "primary" channel,
# which is set in the modules section of the config file. Masters can change
# their console channel and modes with the '.console' command.
set console "mkcobxs"


##### FILES AND DIRECTORIES #####

# Specify here the filename your userfile should be saved as.
set userfile "LamestBot.user"

# Specify here the filename eggdrop will save its pid to. If no
# pidfile is specified, pid.(botnet-nick) will be used.
#set pidfile "pid.${botnet-nick}"

# If you want your userfile to be sorted upon saving, enable this setting.
# This causes the bot to use bit more CPU when saving the usefile.
set sort-users 0

# Specify here where eggdrop should look for help files.
# Don't modify this setting unless you know what you're doing!
set help-path "help/"

# Specify here where eggdrop should look for text files. This is
# used for certain Tcl and DCC commands.
set text-path "text/"

# Set here a place to store temporary files.
set temp-path "/tmp"

# The MOTD (Message Of The day) is displayed when people dcc chat or telnet
# to the bot. Look at doc/text-substitutions.doc for options.
set motd "text/motd"

# This banner will be displayed on telnet connections.
set telnet-banner "text/banner"

# This specifies what permissions the user, channel, and notes files should be set to.
# The octal values are the same as for the chmod system command.
#
# To remind you:
#
# u g o u g o u g o
# 0600 rw------- 0400 r-------- 0200 -w------- u - user
# 0660 rw-rw---- 0440 r--r----- 0220 -w--w---- g - group
# 0666 rw-rw-rw- 0444 r--r--r-- 0222 -w--w--w- o - others
#
# Note that the default 0600 is the most secure one and should only be
# changed if you need your files for shell scripting or other external
# applications.
set userfile-perm 0600


##### BOTNET/DCC/TELNET #####

# Settings in this section should be unimportant for you until you deal
# with botnets (multiple eggdrops connected together to maximize efficiency).
# You should read doc/BOTNET before modifying these settings.

# If you want to use a different nickname on the botnet than you use on
# IRC (i.e. if you're on an un-trusted botnet), un-comment the next line
# and set it to the nick you would like to use.
#set botnet-nick "LlamaBot"

# This opens a telnet port by which you and other bots can
# interact with the eggdrop by telneting in.
#
# There are more options for the listen command in doc/tcl-commands.doc.
# Note, if you are running more than one bot on the same machine, you will
# want to space the telnet ports at LEAST 5 apart. 10 is even better.
#
# Valid ports are typically anything between 1025 and 65535 assuming the
# port is not already in use.
#

# If you would like the bot to listen for users and bots in separate ports,
# use the following format.
#
# listen 3333 bots
# listen 4444 users
#
# If you wish to use only one port, use this format:
listen 3333 all

# This setting defines whether or not people can boot users on the eggdrop
# from other bots in your botnet. Valid settings are:
# 0 - allow *no* outside boots
# 1 - allow boots from sharebots
# 2 - allow any boots
set remote-boots 2

# This setting prohibits remote bots from telling your eggdrop to unlink from
# share bots.
set share-unlinks 1

# This setting will drop telnet connections not matching a known host. It
# greatly improves protection from IRCOps, but makes it impossible for NOIRC
# bots to add hosts or have NEW as a valid login.
set protect-telnet 0

# This setting will make the bot ignore DCC chat requests which appear to
# have bogus information on the grounds that the user may have been trying
# to make the bot connect to somewhere that will get it into trouble, or
# that the user has a broken client (like mIRC tends to do), in which case
# the connect wouldn't work anyway. It's suggested that you turn this on.
set dcc-sanitycheck 0

# This settings defines a time in seconds that the bot should wait before
# a dcc chat, telnet, or relay connection times out.
set ident-timeout 5

# Define here whether or not a +o user still needs the +p flag to dcc the bot.
set require-p 0

# If you want people allow to telnet in and type 'NEW' to become a new user,
# set this to 1. This is similar to the 'hello' msg command. The protect-telnet
# setting must be set to 0 to use this.
set open-telnets 0

# If you don't want eggdrop to identify itself as an eggdrop on a telnet connection,
# set this setting to 1. Eggdrop will display 'Nickname' instead.
set stealth-telnets 0

# If you want eggdrop to display a banner when telneting in, set this setting
# to 1. The telnet banner is set by 'set telnet-banner'.
set use-telnet-banner 0

# This settings defines a time in seconds that the bot should wait before
# a dcc chat, telnet, or relay connection times out.
set connect-timeout 15

# Specify here the number of lines to accept from a user on the partyline
# within 10 seconds before they are considered to be flooding and therefore
# get booted.
set dcc-flood-thr 3

# Define here how many telnet connection attempts in how many seconds from
# the same host constitute a flood. The correct format is Attempts:Seconds.
set telnet-flood 5:60

# If you want telnet-flood to apply even to +f users, set this setting to 1.
set paranoid-telnet-flood 1

# Set here the amount of seconds before giving up on hostname/address
# lookup (you might want to increase this if you are on a slow network).
set resolve-timeout 15


##### MORE ADVANCED SETTINGS #####

# Set this to your socks host if your eggdrop sits behind a firewall.
# If you use a Sun "telnet passthru" firewall, use this setting:
#set firewall "!sun-barr.ebay:3666"

# If you have a NAT firewall (you box has an IP in one of the following
# ranges: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255,
# 10.0.0.0-10.255.255.255 and your firewall transparently changes your
# address to a unique address for your box) or you have IP masquerading
# between you and the rest of the world, and /dcc chat,/ctcp chat or
# userfile sharing aren't working, enter your outside IP here. Do not
# enter anything for my-ip or my-hostname if you use this setting.
#set nat-ip "127.0.0.1"

# If you want all dcc file transfers to use a particular portrange either
# because you're behind a firewall, or for other security reasons, set it
# here.
#set reserved-portrange 2010:2020

# Set the time in minutes that temporary ignores should last.
set ignore-time 15

# Define here what eggdrop considers 'hourly'. All calls to it, including such
# things as note notifying or userfile saving are affected by this. For example:
#
# set hourly-updates 15
#
# The bot will save its userfile 15 minutes past every hour.
set hourly-updates 00

# Un-comment the next line and set the list of owners of the bot.
# You NEED to change this setting.
#set owner "MrLame, MrsLame"

# Who should a note be sent to when new users are learned?
set notify-newusers "$owner"

# Enter the flags that all new users should get by default.
# See '.help whois' on the partyline for a list of flags and
# their descriptions.
set default-flags "hp"

# Enter all user-defined fields that should be displayed in a '.whois'.
# This will only be shown if the user has one of these extra fields.
# You might prefer to comment this out and use the userinfo1.0.tcl script
# which provides commands for changing all of these.
set whois-fields "url birthday"

# Enable this setting if you want your eggdrop to die upon receiving a SIGHUP
# kill signal. Otherwise, the eggdrop will just save its userfile and rehash.
set die-on-sighup 0

# Enable this setting if you want your eggdrop to die upon receiving a SIGTERM
# kill signal. Otherwise, the eggdrop will just save its userfile and rehash.
set die-on-sigterm 1

# Comment these two lines if you wish to enable the .tcl and .set commands.
# If you select your owners wisely, you should be okay enabling these.
unbind dcc n tcl *dcc:tcl
unbind dcc n set *dcc:set

# If you enable this setting, only permanent owners (owner setting) will be
# able to use .tcl and .set. Moreover, if you want only let permanent owners
# use .dump, then set this to 2.
set must-be-owner 1

# Comment out this line to add the 'simul' partyline command (owners
# can manipulate other people on the party line). Please select owners
# wisely and use this command ethically!
unbind dcc n simul *dcc:simul

# Set here the maximum number of dcc connections you will allow. You can
# increase this later, but never decrease it.
set max-dcc 50

# Enable this setting if you want to enable the 'dccsimul' Tcl command.
set enable-simul 1

# Enable this setting if you want +d & +k users to use commands bound as -|-.
set allow-dk-cmds 1

# If your eggdrop rejects bots that actually have already disconnected from
# another hub, but the disconnect information has not yet spread over the
# botnet due to lag, use this setting. The bot will wait dupwait-timeout
# seconds before it checks again and then finally reject the bot.
set dupwait-timeout 5

# You MUST remove this line for your bot to start. This has been added to
# prevent you from starting up a bot that is not fully configured. Bots
# that have not been fully configured may join the wrong IRC network, the
# wrong channels, or generally do things that you do not want. Please make
# sure that you have double-checked every setting. There's also a similar line
# lower down, just to make sure you're reading :)

die "Please make sure you edit your config file completely."


##### MODULES #####

# Below are various settings for the modules available with eggdrop.
# PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at
# eggdrop, things change.

# This path specifies the path were eggdrop should look for its modules.
# If you run the bot from the compilation directory, you will want to set
# this to "". If you use 'make install' (like all good kiddies do ;), this
# is a fine default. Otherwise, use your head :)
set mod-path "modules/"


#### DNS MODULE ####

# This module provides asynchronous dns support. This will avoid long
# periods where the bot just hangs there, waiting for a hostname to
# resolve, which will often let it timeout on all other connections.
loadmodule dns

#### CHANNELS MODULE ####

# This module provides channel related support for the bot. Without it,
# you won't be able to make the bot join a channel or save channel
# specific userfile information.
loadmodule channels

# Enter here the filename where dynamic channel settings are stored.
set chanfile "LamestBot.chan"

# Set here how long temporary bans will last (in minutes). If you
# set this setting to 0, the bot will never remove them.
set ban-time 120

# Set here how long temporary exempts will last (in minutes). If you
# set this setting to 0, the bot will never remove them. The bot will
# check the exempts every X minutes, but will not remove the exempt if
# a ban is set on the channel that matches that exempt. Once the ban is
# removed, then the exempt will be removed the next time the bot checks.
# Please note that this is an IRCnet feature.
set exempt-time 60

# Set here how long temporary invites will last (in minutes). If you
# set this setting to 0, the bot will never remove them.
# The bot will check the invites every X minutes, but will not remove
# the invite if a channel is set to +i. Once the channel is -i then
# the invite will be removed the next time the bot checks.
# Please note that this is an IRCnet feature.
set invite-time 60

# Set this setting to 1 if you want your bot to expire bans/exempts/invites set
# by other opped bots on the channel.
set force-expire 0

# Set this setting to 1 if you want your bot to share user greets with other
# bots on the channel if sharing user data.
set share-greet 0

# Set this setting to 1 if you want to allow users to store an info line.
set use-info 1

# The following settings are used as default values when you .+chan #chan or .tcl
# channel add #chan. Look in the section below for explanation of every option.

set global-flood-chan 10:60
set global-flood-deop 3:10
set global-flood-kick 3:10
set global-flood-join 5:60
set global-flood-ctcp 3:60
set global-flood-nick 5:60
set global-aop-delay 5:30
set global-idle-kick 0
set global-chanmode "nt"
set global-stopnethack-mode 0
set global-revenge-mode 1

set global-chanset {
-autoop -autovoice
-bitch +cycle
+dontkickops +dynamicbans
+dynamicexempts +dynamicinvites
-enforcebans +greet
-inactive -nodesynch
-protectfriends +protectops
-revenge -revengebot
-secret -seen
+shared +statuslog
+userbans +userexempts
+userinvites
}

# Add each static channel you want your bot to sit in using this command.
# There are many different possible settings you can insert into this
# command, which are explained below.

I have removed a whole lot of lines here. These were a channel definition in the config file. Normally, you wouldn't want to have a channel defined in the config file. You cannot change settings that way (except by editing the config file and rehashing the bot).
It's just as easy to add the channel as a dynamic channel, and it saves you a lot of grief. The channel modes are explained in .help chaninfo and .help chanset. If you still want to read the explanations given here, check your own config file.

#### SERVER MODULE ####

# This module provides the core server support. You have to load this
# if you want your bot to come on IRC. Not loading this is equivalent
# to the old NO_IRC define.
loadmodule server

# What is your network?
# 0 = EFnet (non +e/+I hybrid)
# 1 = IRCnet
# 2 = Undernet
# 3 = DALnet
# 4 = EFnet +e/+I hybrid
# 5 = Others
set net-type 0

# Set the nick the bot uses on IRC, and on the botnet
# unless you specify a separate botnet-nick, here.

set nick "Lamestbot"

# Set the alternative nick which the bot uses on IRC if the nick specified
# by 'set nick' is unavailable. All '?' characters will be replaced by random
# numbers.

set altnick "Llamab?t"

# Set what should be displayed in the real-name field for the bot on IRC.
set realname "/msg LamestBot hello"

# Set here a script to run (if any) when first connecting to a server.
set init-server { putserv "MODE $botnick +i-ws" }

# Set the default port which should be used if none is specified with
# '.jump' or in 'set servers'.
set default-port 6667

# This is the bot's server list. The bot will start at the first server listed,
# and cycle through them whenever it gets disconnected. You need to change these
# servers to YOUR network's servers.
#
# The format is:
# server[:port[:password]]
#
# Both the port and password fields are optional; however, if you want to set a
# password you must also set a port. If a port isn't specified it will default to
# your default-port setting.
set servers {
you.need.to.change.this:6667
another.example.com:7000
}

# This setting makes the bot try to get his original nickname back if its
# primary nickname is already in use.
set keep-nick 1

# Set this to 1 if you don't want your the bot to strip a leading '~'
# on user@hosts.
set strict-host 0

# This setting makes the bot squelch the error message when rejecting a DCC
# CHAT or SEND. Normally it tells the DCC user that the CHAT or SEND has
# been rejected because they don't have access.
# Please note, sometimes IRC server operators detect bots that way.
set quiet-reject 1

# If you want your bot to answer lower case ctcp requests (non rfc-
# compliant), set this setting to 1. mIRC will do this, most other
# clients will not.
set lowercase-ctcp 0

# Set how many ctcps should be answered at once.
set answer-ctcp 3

# Set here how many msgs in how many seconds from one host constitutes
# a flood. If you set this to 0:0, msg flood protection will be disabled.
set flood-msg 5:60

# Set here how many ctcps in how many seconds from one host constitutes
# a flood. If you set this to 0:0, ctcp flood protection will be disabled.
set flood-ctcp 3:60

# This settings makes the bot cycle forever through the server list until
# it successfully connects to one.
set never-give-up 1

# Often, IRC servers call themselves a name other than their actual
# hostname. If you want eggdrop to replace your entry in the config
# file with this name, set this to 1. If you set this setting to 0,
# eggdrop will keep a separate list of what IRC servers call themselves.
set strict-servernames 0

# This setting defines how long eggdrop should wait before moving from one
# server to another on disconnect. If you set 0 here, eggdrop will not wait
# at all and will connect instantly. Setting this too low could result in
# your bot being K:Lined.
set server-cycle-wait 60

# Set here how long eggdrop should wait for a response when connecting to a
# server before giving up and moving on to next server.
set server-timeout 60

# If the number of servers on the net gets below this number, the bot
# will jump to a new server (it will assume it's on the losing end of
# a netsplit). Set this to 0 to turn off. If your bot is running on
# any major IRC network, this should probably be turned off.
set servlimit 0

# Set this to 1 if eggdrop should check for stoned servers? (where the
# server connection has died, but eggdrop hasn't been notified yet).
set check-stoned 1

# This setting allows you the logging of all information received from the
# server via console mode 'r'.
# NOTE: This is a large security hole, allowing people to see user passwords.
# This is now restricted to +n users only. Please choose your owners with
# care.
set use-console-r 0

# This setting allows you the logging of all information sent to the server
# via console mode 'v'.
# NOTE: This is a large security hole, allowing people to see passwords.
# This is now restricted to +n users only. Please choose your owners with
# care.
set debug-output 0

# If you want your bot to exit the server if it receives an ERROR message,
# set this to 1.
set serverror-quit 1

# Set here the maximum number of lines to queue to the server. If you're
# going to dump large chunks of text to people over IRC, you will probably
# want to raise this. 300 is fine for most people though.
set max-queue-msg 300

# If you want eggdrop to trigger binds for ignored users, set this to 1.
set trigger-on-ignore 0

# Allow identical messages in the mode queue?
set double-mode 0

# Allow identical messages in the server queue?
set double-server 0

# Allow identical messages in the help queue?
set double-help 0

# This optimizes the kick queue. It also traces nick changes and parts in
# the channel and changes the kick queue accordingly. There are three
# different options for this setting:
# 0 = Turn it off.
# 1 = Optimize the kick queue by summarizing kicks.
# 2 = Trace nick changes and parts on the channel and change the queue
# accordingly. For example, bot will not try to kick users who have
# already parted the channel.
# ATTENTION: Setting 2 is very CPU intensive.
set optimize-kicks 1

### SERVER MODULE - OTHER NETWORKS (net-type 5) ###

# This settings defines how umode +r is understood by eggdrop. Some
# networks use +r to indicate a restricted connection. If this is your
# case, and you want your bot to leave restricted servers and jump to
# the next server on its list, then set it to 1.
#set check-mode-r 1

# This setting allows you to specify the maximum nick-length supported by
# your network. The default setting is 9. The maximum supported length by
# eggdrop is 32.
#set nick-len 9

#### CTCP MODULE ####

# This module provides the normal ctcp replies that you'd expect.
# Without it loaded, CTCP CHAT will not work. The server module
# is required for this module to function.
loadmodule ctcp

# Set here how the ctcp module should answer ctcps. There are 3 possible
# operating modes:
# 0: Normal behavior is used.
# 1: The bot ignores all ctcps, except for CHAT and PING requests
# by users with the +o flag.
# 2: Normal behavior is used, however the bot will not answer more
# than X ctcps in Y seconds (defined by 'set flood-ctcp').
set ctcp-mode 0

# There are also several variables to help make your bot less noticeable.
# They are: ctcp-version, ctcp-finger, and ctcp-userinfo. You can use set to set
# them to values you'd like.


#### IRC MODULE ####

# This module provides basic IRC support for your bot. You have to
# load this if you want your bot to come on IRC. The server and channels
# modules must be loaded for this module to function.
loadmodule irc

# Set this to 1 if you want to bounce all server bans.
set bounce-bans 1

# Set this to 1 if you want to bounce all server modes.
set bounce-modes 0

# Set here the maximum number of bans you want the bot to set on a channel.
# Eggdrop will not place any more bans if this limit is reached. Undernet
# and IRCnet currently allow 30 bans, EFnet allows 20, and DALnet allows 100.
set max-bans 20

# There is a global limit for +b/+e/+I modes. This limit is currently set to
# 30 on IRCu 2.10 servers.
set max-modes 30

# Set this to 1 if you want the bot to kick for control character/ctcp
# avalanches to a channel. Remember that if it does, it won't ban them.
# This can start kick floods.
set kick-fun 0

# Set this to 1 if you want the bot to ban for control character/ctcp
# avalanches to a channel. This can prevent kick floods, but it also can
# fill the banlist.
set ban-fun 0

# If you want people to be able to add themselves to the bot's userlist
# with the default userflags (defined above in the config file) via the
# 'hello' msg command, set this to 1.
set learn-users 0

# Set here the time (in seconds) to wait for someone to return from
# a netsplit (i.e. wasop will expire afterwards). Set this to 1500
# on IRCnet since its nick delay stops after 30 minutes.
set wait-split 600

# Set here the time (in seconds) that someone must have been off-channel
# before re-displaying their info line.
set wait-info 180

# Set this to the maximum number of bytes to send in the arguments
# of modes sent to the server. Most servers default this to 200.
set mode-buf-length 200

# Many IRCops find bots by seeing if they reply to 'hello' in a msg.
# You can change this to another word by un-commenting the following
# two lines and changing "myword" to the word wish to use instead of
# 'hello'. It must be a single word.
#unbind msg - hello *msg:hello
#bind msg - myword *msg:hello

# Many takeover attempts occur due to lame users blindly /msg ident'ing to
# the bot and attempting to guess passwords. We now unbind this command by
# default to discourage them. You can enable this command by un-commenting
# the following two lines.
unbind msg - ident *msg:ident
unbind msg - addhost *msg:addhost

# If you are so lame you want the bot to display peoples info lines, even
# when you are too lazy to add their chanrecs to a channel, set this to 1.
# *NOTE* This means *every* user with an info line will have their info
# line displayed on EVERY channel they join (provided they have been gone
# longer than wait-info).
set no-chanrec-info 0

### IRC MODULE - IRCnet SPECIFIC FEATURES (net-type 1) ###

# Attention: Use these settings *only* if you set 'net-type' to 1!

# Set this to 1 if you want to bounce all server exemptions (+e modes).
set bounce-exempts 0

# Set this to 1 if you want to bounce all server invitations (+I modes).
set bounce-invites 0

# Set here the maximum number of exempts you want eggdrop to set
# on a channel. Eggdrop will not place any more exempts if this
# limit is reached.
set max-exempts 20

# Set here the maximum number of invites you want eggdrop to set
# on a channel. Eggdrop will not place any more invites if this
# limit is reached.
set max-invites 20

# The following settings should be left commented unless the default values
# are being overridden. By default, exempts and invites are on for IRCnet,
# but off for all other large networks. This behavior can be modified with
# the following 2 flags. If your network doesn't support +e/+I modes then you
# will be unable to use these features.
#
# Do you want to enable exempts?
#set use-exempts 0

# Do you want to use invites?
#set use-invites 0

# At the moment, the current IRCnet IRCd version (2.10) doesn't support the mixing
# of b,o and v modes with e and I modes. This might be changed in the future, so
# use 1 at the moment for this setting.
set prevent-mixing 1

### IRC MODULE - OTHER NETWORKS (net-type 5) ###

# Attention: Use these settings *only* if you set 'net-type' to 5!

# If your network supports more users per kick command then 1, you can
# change this behavior here. Set this to the number of users to kick at
# once, or set this to 0 for all at once.
#set kick-method 1

# Some networks allow you to stack lots of channel modes into one line.
# They're all guaranteed to support at least 3, so that's the default.
# If you know your network supports more, you may want to adjust this.
#set modes-per-line 3

# Some networks don't include the +l limit and +k or -k key modes
# in the modes-per-line (see above) limitation. Set include-lk to 0 for
# these networks.
#set include-lk 1

# Set this to 1 if your network uses IRCu2.10.01 specific /who requests.
# Eggdrop can, therefore, ask only for exactly what's needed.
#set use-354 0

# If your network doesn't use rfc 1459 compliant string matching routines,
# set this to 0.
#set rfc-compliant 1


#### TRANSFER MODULE ####

# The transfer module provides dcc send/get support and userfile transfer
# support for userfile sharing. Un-comment the next line to load it if you
# need this functionality.
#loadmodule transfer

If you want to use userfile sharing or run a file server in your eggdrop, you need to load this module.

# Set here the maximum number of simultaneous downloads to allow for
# each user.
set max-dloads 3

With this setting you can set how many downloads you want to allow at the same time from your eggdrop (this includes file downloads and userfile downloads).

# Set here the block size for dcc transfers. ircII uses 512 bytes,
# but admits that may be too small. 1024 is standard these days.
# Set this to 0 to use turbo-dcc (recommended).
set dcc-block 1024

# Enable this setting if you want to copy files into the /tmp directory
# before sending them. This is useful on most systems for file stability,
# but if your directories are NFS mounted, it's a pain, and you'll want
# to set this to 0. If you are low on disk space, you may also want to
# set this to 0.
set copy-to-tmp 1

# Set here the time (in seconds) to wait before an inactive transfer
# times out.
set xfer-timeout 30


#### SHARE MODULE ####

# This module provides userfile sharing support between two directly
# linked bots. The transfer and channels modules are required for this
# module to correctly function. Un-comment the following line to load
# the share module.
#loadmodule share

You'd better uncomment this line if you want to use a botnet with userfile sharing.

# Settings in this section must be un-commented before setting.

# When two bots get disconnected, this setting allows them to create a
# resync buffer which saves all changes done to the userfile during
# the disconnect. When they reconnect, they will not have to transfer
# the complete user file, but, instead, just send the resync buffer.
#set allow-resync 0

Allowing resync is a good idea, since it won't try to send the complete userifle every time, which saves time & bandwith.
Therefore we advise to uncomment this line.

# This setting specifies how long to hold another bots resync data
# before flushing it.
#set resync-time 900

If you want another timespan before the resync buffer is flushed, you can uncomment this setting and change 900 to something else.

# When sharing user lists, DON'T ACCEPT global flag changes from other bots?
# NOTE: The bot will still send changes made on the bot, it just won't accept
# any global flag changes from other bots.
#set private-global 0

Totally denying global flags or not is completely up to you... We have this on 0.

# When sharing user lists, if private-global isn't set, which global flag
# changes from other bots should be ignored?
#set private-globals "mnot"


# When sharing user lists, don't accept ANY userfile changes from other
# bots? Paranoid people should use this feature on their hub bot. This
# will force all userlist changes to be made via the hub.
#set private-user 0


# This setting makes the bot discard its own bot records in favor of
# the ones sent by the hub.
# NOTE: No passwords or botflags are shared, only ports and
# address are added to sharing procedure. This only works with hubs that
# are v1.5.1 or higher.
#set override-bots 0


#### COMPRESS MODULE ####

# This module provides provides support for file compression. This allows the
# bot to transfer compressed user files and therefore save a significant amount
# of bandwidth. The share module must be loaded to load this module. Un-comment
# the following line to the compress module.
#loadmodule compress

If you're not running a 386, uncomment this line. It uses just a little more CPU time, but saves a lot on the bandwith, since the files transferred are compressed with gzip.

# Allow compressed sending of user files? The user files are
# compressed with the compression level defined in `compress-level'.
set share-compressed 1

Keep this enabled to compress shared userfiles.

# This is the default compression level used.
#set compress-level 9

Level 9 is the best compression for gzip. No reason to set it any lower...


#### FILESYSTEM MODULE ####

# This module provides an area within the bot where users can store
# files. With this module, the bot is usable as a file server. The
# transfer module is required for this module to function. Un-comment
# the following line to load the filesys module.
#loadmodule filesys
If you want to use a file area (or more than one) in your eggdrop, uncomment this line.

# Set here the 'root' directory for the file system.
set files-path "/home/mydir/filesys"

# If you want to allow uploads, set this to the directory uploads
# should be put into. Set this to "" if you don't want people to
# upload files to your bot.
set incoming-path "/home/mydir/filesys/incoming"

# If you don't want to have a central incoming directory, but instead
# want uploads to go to the current directory that a user is in, set
# this setting to 1.
set upload-to-pwd 0

# Eggdrop creates a '.filedb' file in each subdirectory of your file area
# to keep track of its own file system information. If you can't do that (for
# example, if the dcc path isn't owned by you, or you just don't want it to do
# that) specify a path here where you'd like all of the database files to be
# stored instead.
set filedb-path ""

# Set here the maximum number of people that can be in the file area at once.
# Setting this to 0 makes it effectively infinite.
set max-file-users 20

# Set here the maximum allowable file size that will be received (in kb).
# Setting this to 0 makes it effectively infinite.
set max-filesize 1024

Set the maximum filesize for uploads. The default (1024 kB) is 1 MB. If you want to receive larger files, set this higher.
If you don't want any limits, set it to "".

#### NOTES MODULE ####

# This module provides support for storing of notes for users from each
# other. Note sending between currently online users is supported in the
# core, this is only for storing the notes for later retrieval.
loadmodule notes
If you like to use notes in your bot (might come in handy sometimes, sometimes it's just plain annoying), leave this line uncommented.

# Set here the filename where private notes between users are stored.
set notefile "LamestBot.notes"
If you're using the notes module, fill in the filename where the notes are kept here. If you're not, never mind this setting.

# Set here the maximum number of notes to allow to be stored for
# each user (to prevent flooding).
set max-notes 50
Set this as low or as high as you want... Keep the flooding warning in mind, though.

# Set here how long (in days) to store notes before expiring them.
set note-life 60
Set here how much time you want to go by before notes are being expired.

# Set this to 1 if you want to allow users to specify a forwarding
# address for forwarding notes to another account on another bot.
set allow-fwd 0

# Set this to 1 if you want the bot to let people know hourly if they
# have any notes.
set notify-users 1

# Set this to 1 if you want the bot to let people know on join if they
# have any notes.
set notify-onjoin 1

# Comment out this next line. Otherwise, your bot won't start.
die "You didn't edit your config file completely like you were told, did you?"

Erm. We'll leave it up to you what to do here...


#### CONSOLE MODULE ####

# This module provides storage of console settings when you exit the
# bot or type .store on the partyline.
loadmodule console

It's strongly advised to load this module to have a comfortable use of the console...

# Save users console settings automatically? Otherwise, they have
# to use the .store command.
set console-autosave 1

Console autosave is a handy feature... If you instead want to keep on using the .store command, feel free to set this to 0...

# If a user doesn't have any console settings saved, which channel
# do you want them automatically put on?
set force-channel 0

Unless you have a specific need to have people on another partyline-channel, leave this at 0.

# Enable this setting if a user's global info line should be displayed
# when they join a botnet channel.
set info-party 0


#### WOOBIE MODULE ####

# This is for demonstrative purposes only. If you are looking for starting
# point in writing modules, woobie is the right thing.
#loadmodule woobie

Woobie is only there as an example for people wanting to write their own module. Since you need these instructions, I don't think it's for you just yet...

#### SEEN MODULE ####

# This module provides very basic seen commands via msg, on channel or via dcc.
# This module works only for users in the bot's userlist. If you are looking for
# a better and more advanced seen module, try the gseen module by G'Quann. You
# can find it at http://www.visions-of-fantasy.de/gseen.mod/.
#loadmodule seen

The seen module provided with eggdrop is rather basic. We advise the use of gseen, which can be found at the above url, instead.

#### BLOWFISH MODULE ####

# IF YOU DON'T READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER
# Eggdrop encrypts its userfile, so users can have secure passwords.
# Please note that when you change your encryption method later (i.e.
# using other modules like a md5 module), you can't use your current
# userfile anymore. Eggdrop will not start without an encryption module.
#loadmodule blowfish

Again, we'll leave it up to you what to do with this instruction.

#### ASSOC MODULE ####

# This module provides assoc support, i.e. naming channels on the botnet.
# You can load it by un-commenting the following line.
#loadmodule assoc

If you like channel naming on the partyline, uncomment this line.

#### WIRE MODULE ####

# This module provides all the standard .wire commands via dcc. It is an
# encrypted partyline communication tool, compatible with wire.tcl. An
# encryption module must be loaded to use this module. Un-comment the
# following line to load the wire module.
#loadmodule wire

If you need encrypted communication on the partyline, load up this module.

#### UPTIME MODULE ####

# This module reports uptime statistics to http://uptime.eggheads.org.
# Go look and see what your uptime is! It takes about 9 hours to show up,
# so if your bot isn't listed, try again later. The server module must be
# loaded for this module to function.
#
# Information sent to the server includes the bot's uptime, botnet-nick,
# server, version, and IP address. This information is stored in a temporary
# logfile for debugging purposes only. The only publicly available information
# will be the bot's botnet-nick, version and uptime. If you do not wish for this
# information to be sent, comment out the following line.
loadmodule uptime

If you want to enter the uptime competition at uptime.eggheads.org, load this module and you'll automatically enter the competition.

##### SCRIPTS #####

# This is a good place to load scripts to use with your bot.

# This line loads script.tcl from the scripts directory inside your eggdrop's
# directory. All scripts should be put there, although you can place them where
# you like as long as you can supply a fully qualified path to them.
#
# source scripts/script.tcl
source scripts/alltools.tcl
source scripts/action.fix.tcl

These two scripts are advised to stay loaded in your bot, as they provide nice tools and fixes for other scripts to use.
Some scripts may depend on alltools, for example.

# Use this script for Tcl and eggdrop downwards compatibility.
# NOTE: This can also cause problems with some newer scripts.
source scripts/compat.tcl

See as the comment says... We haven't seen a script that has problems with compat.tcl being loaded, so... we keep it loaded.

# This script provides many useful informational functions, like setting
# users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add
# extra entries
source scripts/userinfo.tcl
loadhelp userinfo.help

If you want to use the userinfo stuff, leave this uncommented, otherwise comment the two above lines out.

---
© 2001-2025, SiD3WiNDR