# Remember people who deop/kick/ban the bot, valid ops, or friends
# and punish them? Users with the +f flag are exempt from revenge.
#
# revengebot
# This is similar to to the 'revenge' option, but it only triggers
# if a bot gets deopped, kicked or banned.
#
# autovoice
# Voice users with the +v flag when they join the channel?
#
# secret
# Prevent this channel from being listed on the botnet?
#
# shared
# Share channel-related user info for this channel?
#
# cycle
# Cycle the channel when it has no ops?
#
# dontkickops
# Do you want the bot not to be able to kick users who have the +o
# flag, letting them kick-flood for instance to protect the channel
# against clone attacks.
#
# inactive
# This prevents the bot from joining the channel (or makes it leave
# the channel if it is already there). It can be useful to make the
# bot leave a channel without losing its settings, channel-specific
# user flags, channel bans, and without affecting sharing.
#
# seen
# Respond to seen requests in the channel? The seen module must be
# loaded for this to work.
#
# nodesynch
# Allow non-ops to perform channel modes? This can stop the bot from
# fighting with services such as ChanServ, or from kicking IRCops when
# setting channel modes without having ops.
#
# static
# Allow only permanent owners to remove the channel?
# To add a channel to eggdrop, please enter the bot's partyline and type
# .+chan #channel. Check also .help chanset and .help chaninfo.
# You can still add a channel here and it will be saved if you have a
# chanfile. We recommend you to use the partyline though.
#
#channel add #lamest
#### 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
# Control certificate verification for irc servers. For a description of the
# possible values, look at the SSL SETTINGS section above.
#set ssl-verify-server 0
# This is a Tcl script to be run immediately after connecting to a server.
bind evnt - init-server evnt:init_server
proc evnt:init_server {type} {
global botnick
putquick "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
# Number of seconds to wait between transmitting queued lines to the server.
# Lower this value at your own risk. ircd is known to start flood control
# at 512 bytes/2 seconds.
set msg-rate 2
# This setting makes the bot try to get his original nickname back if its
# primary nickname is already in use.
set keep-nick 1
# This setting makes the bot squelch the error message when rejecting a DCC
# CHAT, SEND or message command. Normally, Eggdrop notifies the user that the
# command has been rejected because they don't have access. Note that 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 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
# 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
# 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
# This setting configures PUBM and MSGM binds to be exclusive of PUB and MSG
# binds. This means if a MSGM bind with the mask "*help*" exists and is
# triggered, any MSG bindings with "help" in their mask will not be
# triggered. Don't enable this unless you know what you are doing!
set exclusive-binds 0
# Allow identical messages in the mode queue?
set double-mode 1
# Allow identical messages in the server queue?
set double-server 1
# Allow identical messages in the help queue?
set double-help 1
# 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
# If your network supports more recipients per command then 1, you can
# change this behavior here. Set this to the number of recipients per
# command, or set this to 0 for unlimited.
set stack-limit 4
### 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.
if {$network == "freenode"} {
set nick-len 16
}
#### 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 0
# Set this to 1 if you want to bounce all server exemptions (+e modes).
# This is disabled if use-exempts is disabled.
set bounce-exempts 0
# Set this to 1 if you want to bounce all server invitations (+I modes).
# This is disabled if use-invites is disabled.
set bounce-invites 0
# 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
# currently allows 45 bans, IRCnet allows 64, EFnet allows 100, and DALnet
# allows 100.
set max-bans 30
# 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
# There is a global limit for +b/+e/+I modes. This limit should be set to
# the same value as max-bans for networks that do not support +e/+I.
set max-modes 30
# The following settings should be left commented unless the default values
# are being overridden. By default, exempts and invites are on for EFnet and
# 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 (+e modes)?
#set use-exempts 0
# Do you want to enable invites (+I modes)?
#set use-invites 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 these commands by commenting the
# following two lines.
unbind msg - ident *msg:ident
unbind msg - addhost *msg:addhost
# Some IRC servers are using some non-standard op-like channel prefixes/modes.
# Define them here so the bot can recognize them. Just "@" should be fine for
# most networks. Un-comment the second line for some UnrealIRCds.
set opchars "@"
#set opchars "@&~"
# 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!
# 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.
# This setting is limited to 6, although if you want to use a higher value,
# you can modify this by changing the value of MODES_PER_LINE_MAX in
# src/chan.h and recompiling the bot.
if {$network == "freenode"} {
set modes-per-line 4
}
# 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
# Set here the maximum number of simultaneous downloads to allow for
# each user.
set max-dloads 3
# Set here the block size for dcc transfers. ircII uses 512 bytes,
# but admits that it may be too small. 1024 is standard these days.
# 0 is turbo-dcc (recommended).
set dcc-block 0
# Enable this setting if you want to copy files to a temporary location before
# sending them. This might be useful for file stability, but if your
# directories are NFS mounted, it's a pain. Setting this to 1 is not advised
# for big files or if you're low on disk space.
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
# 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.
#
# NOTE: This has been known to cause loss of channel flags and other
# problems. Using this setting is not recommended.
#set allow-resync 0
# This setting specifies how long to hold another bots resync data
# before flushing it.
#set resync-time 900
# 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. This overrides the private-globals
# setting (below).
#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"
# 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
# Allow compressed sending of user files? The user files are compressed with
# the compression level defined in `compress-level'.
set share-compressed 1
# This is the default compression level used. These levels are the same as
# those used by GNU gzip.
#set compress-level 9
#### FILESYSTEM MODULE ####
# This module provides an area within the bot where users can store and
# manage 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
# Set here the 'root' directory for the file system.
set files-path "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 "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
#### 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
# Set here the filename where private notes between users are stored.
set notefile "$username/notes"
# Set here the maximum number of notes to allow to be stored for each user
# (to prevent flooding).
set max-notes 50
# Set here how long (in days) to store notes before expiring them.
set note-life 60
# 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 0
# Set this to 1 if you want the bot to let people know on join if they have
# any notes.
set notify-onjoin 1
# This next line checks if eggdrop is being executed from the source directory
if {[file exists aclocal.m4]} { die {You are attempting to run Eggdrop from the source directory. Please finish installing Eggdrop by running "make install" and run it from the install location.} }
#### CONSOLE MODULE ####
# This module provides storage of console settings when you exit the
# bot or type .store on the partyline.
loadmodule console
# Save users console settings automatically? Otherwise, they have
# to use the .store command.
set console-autosave 1
# If a user doesn't have any console settings saved, which channel
# do you want them automatically put on?
set force-channel 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
#### 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.kreativrauschen.com/gseen.mod/.
#loadmodule seen
#### 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
#### 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.