#! /path/to/executable/eggdrop
# ^- set that to the directory eggdrop is in i.e. "#! /home/lamest/egg/eggdrop"
#
# $Id: eggdrop.complete.conf,v 1.43 2001/08/19 02:36:22 drummer Exp $
#
# This config file includes all possible options you can
# use to configure your bot properly.
# be sure that you know what you are doing!
#
# more detailed descriptions of all those settings can be found in
# doc/settings/
##### GENERAL STUFF #####
# the username the bot uses, this is only used if identd isn't working
# on the machine the bot is running on.
set username "lamest"
# who's running this bot?
set admin "Lamer <email: lamer@lamest.lame.org>"
# what IRC network are you on? this is just info to share with others on
# your botnet, for human curiosity only.
set network "I.didnt.edit.my.config.file.net"
# what timezone is your bot in? The timezone string specifies the name of
# the timezone and must be three or more alphabetic characters.
#
# ex. Central European Time(UTC+1) would be "CET"
set timezone "EST"
# offset 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(hours) must be between 0 and 24.
#
# ex. if the timezone is UTC+1 the offset is -1
set offset "5"
# If you dont want to use the timezone setting for scripting purpose
# only but instead everywhere possible (new) then uncomment the next 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
# by IP. if eggdrop has trouble detecting the hostname when it starts up,
# set my-ip. (it will let you know if it has trouble -- trust me.)
# my-ip will be used for IPv4 hosts, my-ip6 will be used for IPv6 hosts.
#set my-ip "127.0.0.1"
#set my-ip6 "3ffe:1337::1"
##### LOG FILES #####
# You can specify a limit on how many log files you can have.
# At midnight every day, the old log files are renamed and a new log file begins.
# By default, the old one is called "(logfilename).yesterday",
# and any logfiles before yesterday are erased.
# Events are logged by certain categories -- this way you can specify
# exactly what kind of events you want sent to various logfiles. the
# events 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 defined) 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)
# There are others, but you probably shouldn't log them, it'd be rather
# unethical ;)
# maximum number of logfiles to allow - this can be increased if needed
# (don't decrease this)
set max-logs 5
# maximum size of your logfiles, set this to 0 to disable.
# this only works if you have keep-all-logs 0 (OFF)
# this value is in KiloBytes, so '550' would mean cycle logs when
# it reaches the size of 550 KiloBytes.
set max-logsize 0
# write the logfiles and check the size every minute
# (if max-logsize is enabled) instead of every 5minutes as before.
# This could be good if you have had problem with the
# logfile filling your quota or hdd or if you log +p
# and publish it on the web and wants more uptodate info.
# If you are concerned with resources keep the default setting 0.
# (although I haven't noticed anything)
set quick-logs 0
# each logfile also 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 "*". there are also
# five user-defined levels ('1'..'5') which are used by Tcl scripts.
# in 'eggdrop.log' put private msgs/ctcps, commands, misc info, and
# errors from any channel:
logfile mco * "logs/eggdrop.log"
# in 'lame.log' put joins, parts, kicks, bans, and mode changes from #lamest:
logfile jk #lamest "logs/lamest.log"
# [0/1] timestamp entries in the log file? (generally a good idea)
set log-time 1
# [0/1] keep logfiles for more than 48 hours -- instead of being called
# "(logfilename).yesterday", the log files are named by the current date,
# and kept around forever (eventually your directory might get full, so
# be careful with this!)
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 strtime 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"
# once a day the logfiles are switched out and started fresh --
# this specifies when that should happen (in military time)
# [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
# [0/1] enable quiet saves? "Writing user file..." and "Writing channel file ..."
# will not be logged if this option is enabled.
set quiet-save 0
# this is the default console mode -- what masters will see automatically
# when they dcc chat with the bot (masters can alter their own console
# flags once they connect, though) -- it uses the same event flags as
# the log files
# (note that the console channel is automatically set to your "primary"
# channel -- the one you defined first in this file. masters can change
# their console channel with the '.console' command, however.)
set console "mkcobxs"
##### FILES AND DIRECTORIES #####
# the userfile: where user records are stored
set userfile "LamestBot.user"
# [0/1] do you want the userlist to be sorted when saving
set sort-users 0
# where the help files can be found (and there are plenty)
set help-path "help/"
# where the text files can be found (used with various dump commands)
set text-path "text/"
# a good place to temporarily store files (i.e.: /tmp)
set temp-path "tmp/"
# the MOTD is displayed when people dcc chat to the bot.
# type '.help set motd' in DCC CHAT for tons of text substitutions
# that the bot can performed on the motd.
set motd "text/motd"
# the telnet banner is displayed when people first make a telnet
# connection to the bot. type '.help set motd' in DCC CHAT for tons of
# text substitutions that the bot can be performed on the telnet banner.
set telnet-banner "text/banner"
# 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.
#
# 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
#
# Most users will want to leave the permissions set to 0600, to ensure
# maximum security.
set userfile-perm 0600
##### BOTNET #####
# you probably shouldn't deal with this until reading 'botnet.doc' or
# something. you need to know what you're doing.
# if you want to use a different nickname on the botnet than you use on
# IRC, set it here:
#set botnet-nick "LlamaBot"
# what telnet port should this bot answer?
# 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
# if you would rather have one port for the botnet, and one for normal
# users, you will want something like this instead:
#listen 3333 bots
#listen 4444 users
# NOTE: there are more options listed for the listen command in
# doc/tcl-commands.doc
listen 3333 all
# [0/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
# and a timeout value for ident lookups would help (seconds)
set ident-timeout 5
# [0/1] users with the +o (global or channel op) flag will still need the +p
# (party line) flag to join the dcc chat party line?
set require-p 0
# [0/1] allow people to telnet in, type 'NEW', and become a new user?
# (If you set this to 1, you must set protect-telnet 0)
set open-telnets 0
# [0/1] Display 'Nickname.' instead of identifying ourselves when people
# telnet in. Set to 1 to only display Nickname.
# (useful if someone portscans your machine, they wont know we're here)
set stealth-telnets 0
# How long (in seconds) should I wait for a connect (dcc chat, telnet,
# relay, etc) before it times out?
set connect-timeout 15
# number of messages / lines from a user on the partyline (dcc, telnet) before
# they are considered to be flooding (and therefore get booted)
set dcc-flood-thr 3
# how many telnet connection attempt in how many seconds from the same
# host constitutes a flood?
set telnet-flood 5:60
# [0/1] apply telnet flood protection for everyone?
# set this to 0 if you want to exempt +f users from telnet flood protection
set paranoid-telnet-flood 1
# how long should I wait (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 STUFF #####
# are you behind a firewall? uncomment this and specify your socks host
#set firewall "proxy:178"
# or, for a Sun "telnet passthru" firewall, set it this way
# (does anyone besides Sun use this?)
#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 shareing aren't working. Enter your outside IP here.
# Do not enter anything for my-ip.
#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
# temporary ignores will last how many minutes?
set ignore-time 15
# this setting affects what part of the hour the 'hourly' calls occur
# on the bot, this includes such things as note notifying,
# You can change that here (for example, "15" means to
# notify every hour at 15 minutes past the hour)
# this now includes when the bot will save its userfile
set hourly-updates 00
# if compiled with owner, the following user(s) will ALWAYS have the
# owner (+n) flag (You really should change this default)
set owner "MrLame, MrsLame"
# who should I send a note to when I learn new users?
set notify-newusers "$owner"
# what flags should new users get as a default?
# check '.help whois' on the partyline (dcc chat, telnet) for tons of
# options.
set default-flags "hp"
# what user-defined fields should be displayed in a '.whois'?
# this will only be shown if the user has one of these xtra 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"
# [0/1/2] allow people from other bots (in your bot-net) to boot people off
# your bot's party line?
# values:
# 0 - allow *no* outside boots
# 1 - allow boots from sharebots
# 2 - allow any boots
set remote-boots 2
# [0/1] if you don't want people to unlink your share bots from remote bots
# set this to 0
set share-unlinks 1
# [0/1] die on receiving a SIGHUP?
# The bot will save it's userfile when it receives a SIGHUP signal
# with either setting.
set die-on-sighup 0
# [0/1] die on receiving a SIGTERM?
# The bot will save it's userfile when it receives a SIGTERM signal
# with either setting.
set die-on-sigterm 1
# to enable the 'tcl' and 'set' command (let owners directly execute
# Tcl commands)? - a security risk!!
# If you select your owners wisely, you should be okay enabling these.
# to enable, comment these two lines out
# (In previous versions, this was enabled by default in eggdrop.h)
unbind dcc n tcl *dcc:tcl
unbind dcc n set *dcc:set
# [0/1/2] only let permanent owners use .tcl/.set if bound? then set it to 1
# moreover only let permanent owners use .dump? then set it to 2
# (the people must set the $owner variable)
set must-be-owner 0
# comment the following line out to add the 'simul' command (owners can
# manipulate other people on the party line).
# Please select owners wisely! Use this command ethically!
unbind dcc n simul *dcc:simul
# maximum number of dcc connections you will allow - you can increase this
# later, but never decrease it, 50 seems to be enough for everybody
set max-dcc 50
# [0/1] add the 'dccsimul' tcl command (needed by certain scripts like
# action.fix.tcl)
set enable-simul 1
# [0/1] allow +d & +k users to use commands bound as -|- ?
set allow-dk-cmds 1
# If a bot connects which already seems to be connected, I wait
# dupwait-timeout seconds before I check again and then finally reject
# the bot. This is useful to stop hubs from rejecting bots that actually
# have already disconnected from another hub, but the disconnect information
# has not yet spread over the botnet due to lag.
set dupwait-timeout 5
# You MUST remove this line for this config file to work. 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 the settings you want.
# There's also a similar line lower down, just to make sure you're reading :)
die "Please edit your config file."
########## MODULES ##########
# below are various settings for the modules available with eggdrop,
# PLEASE EDIT THEM CAREFULLY, READ THEM, even if you're an old hand
# at eggdrop, lots of things have changed slightly
# this is the directory to look for the modules in, if you run the
# bot in the compilation directories 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/"
##### CHANNELS MODULE #####
# this next module provides channel related support for the bot, without
# it, it will just sit on irc, it can respond to msg & ctcp commands, but
# that's all
loadmodule channels
# the chanfile: where dynamic channel settings are stored
set chanfile "LamestBot.chan"
# temporary bans will last how many minutes? if set to 0, bot never removes
# them.
set ban-time 120
# temporary exemptions (+e modes) will last how many minutes? if set to 0,
# bot never removes them. This is an IRCNET feature. 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.
set exempt-time 60
# temporary invitations (+I modes) will last how many minutes? if set to
# 0, bot never removes them. This is an IRCNET feature. The bot will check the
# invites every X minutes, but will not remove them if the channel is +i. Once
# the channel is -i then the bot will remove then invite mode next time it
# checks this counter
set invite-time 60
# [0/1] expire bans/exempts/invites set by other opped bots on the channel?
# set force-expire 0
# [0/1] share user greets with other bots on the channel if sharing user data?
set share-greet 0
# [0/1] allow users to store an info line?
set use-info 1
# these settings are used as default values when you
# .+chan #chan or .tcl channel add #chan
# look in the section above for explanation on 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 +statuslog
+shared +userinvites
+userbans +userexempts
}
# do this for each channel you wish to sit on:
# NOTE: for some reason Tcl won't let you put comments inside { } -- so
# don't try it, cos it'll mess up your channel definition
channel add #lamest {
chanmode "+nt-likm"
idle-kick 0
stopnethack-mode 0
revenge-mode 1
aop-delay 5:30
flood-chan 10:60
flood-deop 3:10
flood-kick 3:10
flood-join 5:60
flood-ctcp 3:60
flood-nick 5:60
}
# the things inside the { } are CHANNEL OPTIONS -- they can be set within
# the "channel add" command, or by using a "channel set" command as in the
# examples below. they list all the options you can set for a channel.
# chanmode
# what modes will be enforced? '+' modes will always be kept on, '-' modes
# will always be kept off
# idle-kick
# kick channel members after how many minutes of being idle?
# (leave out to disable, or set to 0)
# stopnethack-mode
# de-op anyone who enters the channel with serverops
# 0 turn off,
# 1 isoptest (allow serverop if registered op),
# 2 wasoptest (allow serverop if op before split)
# 3 allow serverop if isop or wasop
# 4 allow serverop if isop and wasop
# 5 if channel -bitch: see stopnethack-mode 3
# if channel +bitch: see stopnethack-mode 1
# 6 if channel -bitch: see stopnethack-mode 2
# if channel +bitch: see stopnethack-mode 4
# revenge-mode
# defines how the bot should punish bad users when revenging.
# default is 1.
# 0 for deop
# 1 for deop and +d
# 2 for deop, +d and kick
# 3 for deop, chattr +d, kick and ban
# aop-delay (minimum:maximum)
# for autoop and autovoice
# aop-delay 0 no autoopdelay
# aop-delay x or aop-delay x:x x sec. autoopdelay
# aop-delay x:y random delay
# if a autoopped user joined during a other delayed autoop is pending,
# the bot will sent both autoop based on the last-joined-user-delay-time,
# probable in only one line.
# flood-chan (number:seconds)
# how many channel messages in how many seconds is a flood
# not specifying or using number = 0 will not check chan floods!
# flood-ctcp (number:seconds)
# how many channel messages in how many seconds is a flood
# not specifying or using number = 0 will not check ctcp floods!
# flood-deop (number:seconds)
# how many deops in how many seconds is a mass de-op
# not specifying or using number = 0 will not check de-op floods!
# flood-kick (number:seconds)
# how many kicks in how many seconds is a mass kick?
# not specifying or using number = 0 will not check mass kicks!
# flood-join (number:seconds)
# how many joins/nick changes in how many seconds is a join flood?
# not specifying or using number = 0 will not check join floods!
# there are also a lot of options that can be turned on or off for each
# channel. to turn an option on, put a + in front of it. to turn it off,
# put a - in front of it. i.e., to have auto-op, put:
# +autoop
# to turn it off, put:
# -autoop
# when a ban is set, kick people who are on the channel and match the
# new ban? (i.e., they were on the channel before the ban)
channel set #lamest +enforcebans
# Only activate bans on the channel when necessary? (This keeps the
# channel's ban list from getting excessively long.
# The bot still remembers every ban, but it only activates a ban on
# the channel when it sees someone join who matches that ban.)
channel set #lamest +dynamicbans
# allow bans to be made by users directly? (if turned off, the bot will
# require all bans to be made through the bot's console)
channel set #lamest +userbans
# only activate exempts on the channel when necessary? (this keeps the
# channel's exempt list from getting excessively long. the bot still
# remembers every exempt, but it only activates a exempt on the channel
# when it sees a ban set matching the exempt. The exempt remains active
# on the channel for as long as the ban is still active.
channel set #lamest +dynamicexempts
# allow exempts to be made by users directly? (if turned off, the bot will
# require all exempts to be made through the bot's console)
channel set #lamest +userexempts
# only activate invites on the channel when necessary? (this keeps the
# channel's invite list from getting excessively long. the bot still
# remembers every invite, but the invites are only activated when the
# channel is set to invite only and a user joins after requesting an
# invite. Once set the invite remains until the channel goes to -i
channel set #lamest +dynamicinvites
# allow invites to be made by users directly? (if turned off, the bot will
# require all invites to be made through the bot's console)
channel set #lamest +userinvites
# op users with the +o (op) flag as soon as they join the channel?
# (hint: this is a BAD IDEA)
channel set #lamest -autoop
# only let users with +o (op) flag be channel ops?
channel set #lamest -bitch
# say a user's info line when they join the channel?
channel set #lamest +greet
# re-op a user with the +o (op) flag if they get deopped?
channel set #lamest +protectops
# re-op a user with the +f (friend) flag if they get deopped?
channel set #lamest +protectfriends
# log the channel status line every 5 minutes? (some people think
# it's annoying; I think it's neat)
channel set #lamest +statuslog
# remember people who deop/kick/ban bots, valid ops or friends, and punish them?
# users with +f (friend) flag are exempt from revenge
channel set #lamest +revenge
# this works similar to revenge, but it triggers only for valid bots and
# allows the deop or kick of an op
channel set #lamest +revengebot
# voice users with +v (voice) flag when they join the channel?
channel set #lamest +autovoice
# prevent this channel from being listed on the botnet? (for paranoid
# people)
channel set #lamest -secret
# share user channel info for this channel?
channel set #lamest -shared
# cycle the channel when it becomes op-less?
channel set #lamest +cycle
# do you want the bot not to be able to kick +o flag users ?
# letting them kick-flood for instance, to protect the channel against
# clone attacks
channel set #lamest +dontkickops
# prevents the bot from joining the channel (or makes it leave the channel
# if it is already there).
# Can be useful to make the bot leave a channel without loosing it's
# settings (flood settings, all these "channel set" settings), user flags
# for this channel, bans for this channel, and without affecting any
# sharing
channel set #lamest -inactive
# allow non-ops to perform channel modes? (Stops bot from
# fighting with services such as ChanServ)
channel set #lamest +nodesynch
# here's a shorter example:
channel add #botcentral {
chanmode "+mntisl 1"
idle-kick 1
}
channel set #botcentral +bitch +enforcebans -greet +revenge
##### SERVER MODULE #####
# this provides the core server support (removing this is equivalent to
# the old NO_IRC define)
loadmodule server
# [0/1/2/3/4/5] 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
##### variables:
# the nick of the bot, that which it uses on IRC, and on the botnet
# unless you specify a separate botnet-nick
set nick "Lamestbot"
# an alternative nick to use if the nick specified by 'set nick' is
# unavailable. All '?' characters will be replaced by a random number.
set altnick "Llamabot"
# what to display in the real-name field for the bot
set realname "/msg LamestBot hello"
# tcl code to run (if any) when first connecting to a server
bind evnt - init-server evnt:init-server
proc evnt:init-server {type} {
global botnick
putquick "MODE $botnick +i-ws"
}
# if no port is specified on a .jump, which port should I use?
set default-port 6667
# the server list -- the bot will start at the first server listed, and cycle
# through them whenever it's disconnected
# (please note: you need to change these servers to YOUR network's servers)
set servers {
hostname.without.port
hostname.with.port:6668
hostname.with.port.and.with.password:6669:foo
1.2.3.4:6666
{[3ffe:1234:2345::ABCD]}
{[3ffe:1234:2345::BCDE]:6668}
{[3ffe:1234:2345::CDEF]:6667:password}
}
# [0/1] if the bot's nickname is changed (for example, if the intended
# nickname is already in use) keep trying to get the nick back?
set keep-nick 1
# [0/1] if this is set, a leading '~' on user@hosts WON'T be stripped off
set strict-host 0
# [0/1] 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, but sometimes IRC server operators
# detect bots that way.
set quiet-reject 1
# answer HOW MANY stacked ctcps at once
set answer-ctcp 3
# setting any of the following with how many == 0 will turn them off
# how many msgs in how many seconds from the same host constitutes a flood?
set flood-msg 5:60
# how many CTCPs in how many seconds?
set flood-ctcp 3:60
# [0/1] even if all the servers are down, cycle forever and keep trying to
# connect?
set never-give-up 1
# [0/1] If this setting is 0 then the eggdrop keeps a seperate list of the names
# irc servers call themselves, retaining what you entered in the config file.
# setting it to 1 will cause the bot to replace your entry with what
# the server actually calls itself
set strict-servernames 0
# number of seconds to wait between each server connect (0 = no wait)
# useful for preventing ircu throttling
# setting this too low could make your server admins *very* unhappy
set server-cycle-wait 60
# how many seconds to wait for a response when connecting to a server
# before giving up and moving on?
set server-timeout 60
# [0/1] check for stoned servers? (i.e. Where the server connection has
# died, but eggdrop hasn't been notified yet).
set check-stoned 1
# [0/1] enable console mode 'r'? this mode shows every raw message from the
# server to owners with console 'r' selected -- will take a bit more CPU.
# NOTE: This is a large security hole, allowing people to see mis-sent
# messages to the bot containing passwords
# This is now restricted to +n users only. Please choose your owners with care.
set use-console-r 0
# [0/1] enable logging of all information sent *to* a 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
# [0/1] exit if the server sends a ERROR message?
set serverror-quit 1
# 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 -- most people are fine at 300 though
set max-queue-msg 300
# [0/1] trigger bindings for ignored users?
set trigger-on-ignore 0
# [0/1] allow a msg being twice in a queue?
set double-mode 0
set double-server 0
set double-help 0
# [0/1/2] do you want the bot to optimize the kicking queues? Set to 2 if you
# want the bot to change queues if somebody parts or changes nickname.
# ATTENTION: Setting 2 is very CPU intensive
set optimize-kicks 1
##### SERVER MODULE - net-type 5 specific features (other networks) #####
# [0/1] some nets use umode +r to mean a restricted connection. If this is your
# case, and you want your bot to leave restricted servers and jump to the
# next one on his server list, then set it to 1.
# Automatically set to 0 for net-type 0/2/3/4, set to 1 for net-type 1.
# Only use this if you set net-type 5
#set check-mode-r 1
# This variable sets the maximum nick length allowed on the network. Most
# only support 9. The maximum supported by eggdrop is 32.
#set nick-len 9
##### CTCP MODULE #####
# this provides the normal ctcp replies that you'd expect *RECOMMENDED*
loadmodule ctcp
# several variables exist to better blend your egg in. they are
# ctcp-version, ctcp-finger, and ctcp-userinfo. you can use set
# to set them to values you like.
# [0/1/2] 0: normal behavior. 1: bot ignores all CTCPs, except for CTCP
# CHATs & PINGs requested by +o flag users. 2: bot doesn't answer more
# than C CTCPs in S seconds.
# C/S are defined by the set flood-ctcp C:S (cf. server module)
set ctcp-mode 0
##### IRC MODULE #####
# this module provides ALL NORMAL IRC INTERACTION, if you want the normal
# join & maintain channels stuff, this is the module.
loadmodule irc
# [0/1] define this if you want to bounce all server bans
set bounce-bans 1
# [0/1] define this if you want to bounce all the server modes
set bounce-modes 0
# If there are more than max-bans active bans on a channel, then the
# bot won't try to put more bans. Thus it won't flood the irc server.
# ircd 2.9.5 allows 20 bans. ircd 2.10 allows 30 bans (max).
set max-bans 20
# There is a global limit for +b/+e/+I modes. This limit is set to 30 on
# 2.10 irc servers.
set max-modes 30
# [0/1] Do you want the bot to kick for control character/ctcp avalanches
# to a channel?
# Remember that if it does, as it won't ban them, it can be at the origin
# of a nice kick-flood
set kick-fun 0
# [0/1] Do you want the bot to ban for control character/ctcp avalanches
# to a channel?
# Can prevent the above described kick-flood, but can also fill the banlist
set ban-fun 0
# [0/1] let users introduce themselves to the bot via 'hello'?
set learn-users 0
# time (in seconds) to wait for someone to return from a netsplit
set wait-split 600
# time (in seconds) that someone must have been off-channel before
# re-displaying their info
set wait-info 180
# this is the maximum number of bytes to send in the arguments to mode's
# sent to the server, most servers default this to 200, so it should
# be sufficient
set mode-buf-length 200
# many irc ops check for bots that respond to 'hello'. you can change this
# to another word by uncommenting the following two lines, and changing
# "myword" to the word you want to use instead of 'hello' (it must be a
# single word)
# novice users are not expected to understand what these two lines do; they
# are just here to help you. for more information on 'bind', check the file
# 'tcl-commands.doc'
#unbind msg - hello *msg:hello
#bind msg - myword *msg:hello
# Many takeover attempts occur due to lame users blindy /msg ident'n to
# the bot without checking if the bot is the bot.
# We now unbind this command by default to discourage them
unbind msg - ident *msg:ident
unbind msg - addhost *msg:addhost
# If you or your users use many different hosts and wants to
# be able to add it by /msg'ing you need to remove the
# unbind ident line above or bind it to another word.
#bind msg - myidentword *msg:ident
# [0/1] 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
# display on EVERY channel they join (provided they have been gone longer than
# wait-info)
set no-chanrec-info 0
##### IRC MODULE - net-type 1 specific features (IRCnet) #####
# Don't modify the following settings if you don't use IRCnet. The defaults following
# values are harmless for you.
# [0/1] define this if you want to bounce all server exemptions (+e modes)
# * This is an IRCNET feature
set bounce-exempts 0
# [0/1] define this if you want to bounce all server invitations (+I modes)
# * This is an IRCNET feature
set bounce-invites 0
# If there are more than max-exempts active +e modes on a channel, then
# the bot won't try to put more exemptions. Thus it won't flood the irc
# server. Only 2.10 servers are concerned by these +e modes.
# * This is an IRCNET feature
set max-exempts 20
# If there are more than max-invites active +I modes on a channel, then
# the bot won't try to put more invitations. Thus it won't flood the irc
# server. Only 2.10 irc servers are concerned by these +I modes.
# * This is an IRCNET feature
set max-invites 20
# The following lines should be left uncommented unless the default values
# are being over-ridden. By default exempts and invites are on for IRCnet
# and hybrid EFnet, but off for all other networks. This behavior can be
# modified by the following 2 flags. If you're network doesn't support e/I
# modes then you'll be unable to use these features.
#
# [0/1] Do you want to enable exempts?
# set use-exempts 0
# [0/1] Do you want to use invites?
# set use-invites 0
# [0/1] Prevent mixing normal modes and +I/+e invite modes?
# At the moment (Sep/1999), IRCnet servers do not allow mixing those modes,
# so leave this flag set to 1. The servers will probably change their
# behavior in the future, so you should first check before accepting the
# default.
set prevent-mixing 1
##### IRC MODULE - net-type 5 specific features (other networks) #####
# kick-method defines how kicks (when enforcing bans) should be made:
# 0 = kick all nicks at once in one command
# X = kick X users at a time
#
# Automatically set by net-type:
# net-type 0, 2, 3 & 4 sets this to 1
# net-type 1 sets this to 4
#
# If you use net-type 5, you must set this yourself (default is 1)
#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,
# but if you know your network supports more, you may want to adjust
# this value. this value must be less than or equal to 6.
# Automatically set to 4 for net-type 0/4, set to 3 for net-type 1, set to
# 6 for net-type 2/3.
# Only use this if you set net-type 5
#set modes-per-line 3
# [0/1] 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
# those networks.
# Automatically set to 1 for net-type 1/2/3, set to 0 for net-type 0/4.
# Only use this if you set net-type 5.
#set include-lk 1
# [0/1] use ircu2.10.01 specific /who requests, therefore only asking for
# exactly what's needed
# Automatically set to 0 for net-type 0/1/3/4, set to 1 for net-type 2.
# Only use this if you set net-type 5
#set use-354 0
# [0/1] use rfc 1459 compliant string matching routines?
# All networks apart from Dalnet comply with rfc 1459, so you should only
# disable it on Dalnet or networks which use Dalnet's code.
#set rfc-compliant 1
##### TRANSFER MODULE #####
# uncomment this line to load the transfer module, this provides
# dcc send/get support and bot userfile transfer support (not sharing)
#loadmodule transfer
##### variables:
# set maximum number of simultaneous downloads to allow for each user
set max-dloads 3
# set 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
# [0/1] copy files into the /tmp directory before sending them? this is
# useful on most systems for file stability. (someone could move a file
# around while it's being downloaded, and mess up the transfer.) 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 want to set this to 0.
set copy-to-tmp 1
# time (in seconds) that a dcc file transfer can remain inactive
# before being timed out
set xfer-timeout 30
##### SHARE MODULE #####
# this provides the userfile sharing support
# (this requires the channels & transfer modules)
#loadmodule share
##### variables:
# [0/1] When two bots get disconnected this flag allows them to create
# a resync buffer which saves all changes done to the userfile during
# the disconnect. So, when they reconnect, they will not have to transfer
# the complete user file, but instead, just send the resync buffer.
# If you have problems with this feature please tell us. Take a look at
# doc/BUG-REPORT first though.
#set allow-resync 0
# this specifies how long to hold another bots resync data for before
# flushing it
#set resync-time 900
# [0/1] when sharing user lists, DONT ACCEPT global flag changes from other bots?
# NOTE: the bot will still send changes made on the bot, it just wont accept
# any global flag changes from other bots
#set private-global 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"
# [0/1] when sharing user lists, DON'T ACCEPT any userfile changes from other
# bots?
# NOTE: paranoid people should use this feature on their hub bot - this
# will force all +host/+user/chpass/etc. changes to be made via the hub
#set private-user 0
# [0/1] this setting makes the bot discard it's own bot records in favor of
# the ones sent by the hub. Note: This only works with hubs that are v1.5.1
# _or higher_.
#set override-bots 0
##### COMPRESS MODULE #####
# The compress module provides support for file compression. This allows the
# bot to transfer compressed user files and therefore save a significant
# amount of bandwidth, especially on very active hubs.
#loadmodule compress
# [0/1] allow compressed sending of user files. The user files
# are compressed with the compression level defined in `compress-level'.
#set share-compressed 1
# [0-9] default compression level used.
#set compress-level 9
##### FILESYSTEM MODULE #####
# uncomment this line to load the file system module, this provides
# an area within the bot where you can store files
#loadmodule filesys
# this is the 'root' directory for the file system (set it to "" if you
# don't want a file system)
set files-path "filesys/"
# if you want to allow uploads, set this to the directory uploads should be
# put into
set incoming-path "filesys/incoming/"
# [0/1] alternately, you can set this, and uploads will go to the current
# directory that a user is in
set upload-to-pwd 0
# eggdrop creates a '.filedb' file in each subdirectory of your dcc area,
# to keep track of its own file system info -- if you can't do that (like
# if the dcc path isn't owned by yours) or you just don't want it to do
# that, specify a path here where you'd like all the database files to
# be stored instead (otherwise, just leave it blank)
set filedb-path ""
# set maximum number of people that can be in the file area at once
# (0 to make it effectively infinite)
set max-file-users 20
# maximum allowable file size that will be received, in K
# (default is 1024K = 1M). 0 makes it effectively infinite.
set max-filesize 1024
##### NOTES MODULE #####
# this provides support for storing of notes for users from each other
# notes between currently online users is supported in the core, this is
# only for storing the notes for later retrieval, direct user->user notes
# are built-in
loadmodule notes
# the notefile: where private notes between users are stored
set notefile "LamestBot.notes"
# maximum number of notes to allow to be stored for each user
# (to prevent flooding)
set max-notes 50
# time (in days) to let stored notes live before expiring them
set note-life 60
# [0/1] allow users to specify a forwarding address for forwarding notes
# to another bot
set allow-fwd 0
# [0/1] set this to 1 if you want the bot to let people know hourly if they
# have any notes
set notify-users 1
# [0/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 like you were told, did you?"
##### CONSOLE MODULE #####
# this module provides storage of console settings when you exit the bot
# (or .store)
loadmodule console
##### variables:
# [0/1] save users console settings automatically? (otherwise they have to use
# .store)
set console-autosave 0
# [0-99999] if a user doesn't have any console settings saved, which channel
# do you want them automatically put on?
set force-channel 0
# [0/1] display a user's global info line when they join a botnet channel?
set info-party 0
##### WOOBIE MODULE #####
# this serves absolutely no purpose and is for demonstrative
# purposes only
#loadmodule woobie
##### BLOWFISH MODULE #####
##### IF YOU DONT READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER
# Choose your encryption method now, 'cause once you do, it ain't
# changing 'til you get a new userfile, capish? At the moment, there
# is only one encryption option: blowfish
# uncomment the loadmodule blowfish line to load blowfish, the encryption
# module for the bot, it will not start without it loaded and commented out
# to make sure you read the whole config file
#loadmodule blowfish
##### ASSOC MODULE #####
# uncomment this line to load assoc support, i.e. naming channels on
# the botnet
#loadmodule assoc
##### UPTIME MODULE #####
# this module reports uptime statistics to http://uptime.energymech.net
# go look and see what your uptime is! (it will show up after 9 hours or so)
loadmodule uptime
##### SCRIPTS #####
# these are some commonly loaded (and needed) scripts.
source scripts/alltools.tcl
source scripts/action.fix.tcl
# use this for tcl and eggdrop downwards compatibility
source scripts/compat.tcl
# This script provides many useful minor informational commands
# (like setting user's URLs, email address, etc). You can modify
# it to add extra entries, you might also want to modify help/userinfo.help
# and help/msg/userinfo.help to change the help files.
source scripts/userinfo.tcl
loadhelp userinfo.help
##### WINDROP SCRIPTS #####
# Ident script for Windrop by FireEgl@EFnet <FireEgl@LinuxFan.com>
# uses username value for ident as default
# read head of script for more documentation
# uncomment (remove cross from) next line to activate
#source scripts/winident1.2.tcl