#! /path/to/executable/eggdrop

# ^- This should contain a fully qualified path to your Eggdrop executable.

#

# $Id: eggdrop.conf,v 1.51 2008-02-16 20:15:30 guppy Exp $

#

# This is a sample Eggdrop configuration file which includes all possible

# settings that can be used to configure your bot.

#

# The pound signs (#) that you see at the beginning of some lines mean that

# the remainder of that line is a comment, or just for your information. By

# adding or deleting pound signs, you can comment or uncomment a setting,

# respectively.

#

# Arguments for a command or setting may be inclosed in <>'s or []'s in the

# example/description. Arguments in <>'s are required, while [] means optional.

#

# More detailed descriptions of all these 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 "TicoS"



# This setting defines which contact person should be shown in .status,

# /msg help, and other places. You really should include this information.

set admin "MaCrO "



# 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"



# 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.

#

# Languages included with Eggdrop: Danish, English, French, Finnish, German.

#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.

#

# Logfile flags:

# b - information about bot linking and userfile sharing

# c - commands

# d - misc debug information

# h - raw share traffic

# j - joins, parts, quits, and netsplits on the channel

# k - kicks, bans, and mode changes on the channel

# m - private msgs, notices and ctcps to the bot

# o - misc info, errors, etc (IMPORTANT STUFF)

# p - public text on the channel

# r - raw incoming server traffic

# s - server connects, disconnects, and notices

# t - raw botnet traffic

# v - raw outgoing server traffic

# w - wallops (make sure the bot sets +w in init-server)

# x - file transfers and file-area commands

#

# Note that modes d, h, r, t, and v can fill disk quotas quickly. There are

# also eight user-defined levels (1-8) which can be 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 setting allows you the logging of raw incoming server traffic via

# console/log flag 'r', raw outgoing server traffic via console/log mode 'v',

# raw botnet traffic via console/log mode 't', and raw share traffic via

# console/log mode 'h'. These flags can create 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 raw-log 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 #haha "logs/haha.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 specify when Eggdrop should switch logfiles and start fresh. You

# must use military time for this setting. 300 is the default, and describes

# 03:00 (AM).

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 "haha.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.haha"



# 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 for options.

set motd "text/motd"



# This banner will be displayed on telnet connections. Look at

# doc/TEXT-SUBSTITUTIONS for options.

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

# that if you are running more than one bot on the same machine, you will want

# to space the telnet ports at LEAST 5 apart, although 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

#

# You need to un-comment this line and change the port number in order to open

# the listen port. You should not keep this set to 3333.

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.

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, in which case the connect wouldn't work

# anyway.

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 1 second 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, prefix the host with a '!'.

#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. This IP

# is used for transfers only, and has nothing to do with the my-ip or

# my-hostname settings. You may still need to set my-ip and/or my-hostname.

#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 "SNiPeR"



# 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 +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 :)





##### MODULES #####



# Below are various settings for the modules included 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/"





#### 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





#### 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 "haha.chan"



# 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 0

set global-ban-time 120

set global-exempt-time 60

set global-invite-time 60



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 -protecthalfops

-autohalfop

}



# Add each static channel you want your bot to sit in using the following

# command. There are many different possible settings you can insert into

# this command, which are explained below.

#

# channel add #MonteOlimpo	 {

# chanmode "+nt-likm"

channel add #MonteOlimpo {
}
# channel add #MonteOlimpo {

# chanmode "+nt-likm"

# idle-kick 0

# stopnethack-mode 0

# revenge-mode 0

# ban-time 120

# exempt-time 60

# invite-time 60

# aop-delay 5:30

# need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" }

# need-invite { putserv "PRIVMSG #lamest :let me in!" }

# need-key { putserv "PRIVMSG #lamest :let me in!" }

# need-unban { putserv "PRIVMSG #lamest :let me in!" }

# need-limit { putserv "PRIVMSG #lamest :let me in!" }

# flood-chan 10:60

# flood-deop 3:10

# flood-kick 3:10

# flood-join 5:60

# flood-ctcp 3:60

# flood-nick 5:60

# }

#

# chanmode +/-

# This setting makes the bot enforce channel modes. It will always add

# the + and remove the - modes.

#

# idle-kick 0

# This setting will make the bot check every minute for idle

# users. Set this to 0 to disable idle check.

#

# stopnethack-mode 0

# This setting will make the bot de-op anyone who enters the channel

# with serverops. There are seven different modes for this settings:

# 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 the channel is -bitch, see stopnethack-mode 3

# If the channel is +bitch, see stopnethack-mode 1

# 6 If the channel is -bitch, see stopnethack-mode 2

# If the channel is +bitch, see stopnethack-mode 4

#

# revenge-mode 0

# This settings defines how the bot should punish bad users when

# revenging. There are four possible settings:

# 0 Deop the user.

# 1 Deop the user and give them the +d flag for the channel.

# 2 Deop the user, give them the +d flag for the channel, and kick them.

# 3 Deop the user, give them the +d flag for the channel, kick, and ban them.

#

# ban-time 120

# Set here how long temporary bans will last (in minutes). If you

# set this setting to 0, the bot will never remove them.

#

# exempt-time 60

# 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.

#

# invite-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.

#

# aop-delay (minimum:maximum)

# This is used for autoop, autohalfop, autovoice. If an op or voice joins a

# channel while another op or voice is pending, the bot will attempt to put

# both modes on one line.

# aop-delay 0 No delay is used.

# aop-delay X An X second delay is used.

# aop-delay X:Y A random delay between X and Y is used.

#

# need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" }

# This setting will make the bot run the script enclosed in brackets

# if it does not have ops. This must be shorter than 120 characters.

# If you use scripts like getops.tcl or botnetop.tcl, you don't need

# to set this setting.

#

# need-invite { putserv "PRIVMSG #lamest :let me in!" }

# This setting will make the bot run the script enclosed in brackets

# if it needs an invite to the channel. This must be shorter than 120

# characters. If you use scripts like getops.tcl or botnetop.tcl, you

# don't need to set this setting.

#

# need-key { putserv "PRIVMSG #lamest :let me in!" }

# This setting will make the bot run the script enclosed in brackets

# if it needs the key to the channel. This must be shorter than 120

# characters. If you use scripts like getops.tcl or botnetop.tcl, you

# don't need to set this setting

#

# need-unban { putserv "PRIVMSG #lamest :let me in!" }

# This setting will make the bot run the script enclosed in brackets

# if it needs to be unbanned on the channel. This must be shorter than

# 120 characters. If you use scripts like getops.tcl or botnetop.tcl,

# you don't need to set this setting

#

# need-limit { putserv "PRIVMSG #lamest :let me in!" }

# This setting will make the bot run the script enclosed in brackets

# if it needs the limit to be raised on the channel. This must be

# shorter than 120 characters. If you use scripts like getops.tcl or

# botnetop.tcl, you don't need to set this setting

#

# flood-chan 10:60

# Set here how many channel messages in how many seconds from one

# host constitutes a flood. Setting this to 0 or 0:0 disables

# flood protection for the channel.

#

# flood-deop 3:10

# Set here how many deops in how many seconds from one host constitutes

# a flood. Setting this to 0 or 0:0 disables deop flood protection for

# the channel.

#

# flood-kick 3:10

# Set here how many kicks in how many seconds from one host constitutes

# a flood. Setting this to 0 or 0:0 disables kick flood protection for

# the channel.

#

# flood-join 5:60

# Set here how many joins in how many seconds from one host constitutes

# a flood. Setting this to 0 or 0:0 disables join flood protection for

# the channel.

#

# flood-ctcp 3:60

# Set here how many channel ctcps in how many seconds from one host

# constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood

# protection for the channel.

#

# flood-nick 5:60

# Set here how many nick changes in how many seconds from one host

# constitutes a flood. Setting this to 0 or 0:0 disables nick flood

# protection for the channel.

#

# There are many different options for channels which you can

# define. They can be enabled or disabled using the channel set command by a

# plus or minus in front of them.

#

# channel set #lamest +enforcebans +dynamicbans +userbans +dynamicexempts

# channel set #lamest +userexempts +dynamicinvites +userinvites +protectops

# channel set #lamest +protectfriends +statuslog +revenge -protecthalfops

# channel set #lamest +revengebot +dontkickops +autovoice -autoop -autohalfop

# channel set #lamest -bitch -secret -shared +greet +cycle

#

# A complete list of all available channel settings:

#

# enforcebans

# When a ban is set, kick people who are on the channel and match

# the ban?

#

# dynamicbans

# 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.

#

# userbans

# 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.

#

# dynamicexempts

# 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 that matches the exempt. The

# exempt remains active on the channel for as long as the ban is

# still active.

#

# userexempts

# 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.

#

# dynamicinvites

# 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.

#

# userinvites

# 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.

#

# autoop

# Op users with the +o flag as soon as they join the channel?

# This is insecure and not recommended.

#

# autohalfop

# Halfop users with the +l flag as soon as they join the channel?

# This is insecure and not recommended.

#

# bitch

# Only let users with +o) flag be opped on the channel?

#

# greet

# Say a user's info line when they join the channel?

#

# protectops

# Re-op a user with the +o flag if they get deopped?

#

# protecthalfops

# Re-halfop a user with the +l flag if they get dehalfopped?

#

# protectfriends

# Re-op a user with the +f flag if they get deopped?

#

# statuslog

# Log the channel status line every 5 minutes? This shows the bot's

# status on the channel (op, voice, etc.), the channel's modes, and

# the number of +m/+o/+v/+n/+b/+e/+I users on the channel. A sample

# status line follows:

#

# [01:40] @#lamest (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7]

#

# revenge

# 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.

#

# Here is a shorter example:

#

# channel add #botcentral {

# chanmode "+mntisl 1"

# idle-kick 1

# }

# channel set #botcentral +bitch +enforcebans -greet +revenge





#### 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

# 1 = IRCnet

# 2 = Undernet

# 3 = DALnet

# 4 = +e/+I/max-modes 20 Hybrid

# 5 = Others

set net-type 5



# Set the nick the bot uses on IRC, and on the botnet unless you specify a

# separate botnet-nick, here.

set nick "Cameron"



# 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 "Cameron"



# Set what should be displayed in the real-name field for the bot on IRC.

# This can not be blank, it has to contain something.

set realname "MonteOlimpo -MaCrO Y Cherry-"



# 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 +ix-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 {

irc.irchatlatino.com:6667:


}



# 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 0 if you want the bot to strip '~' characters from user@hosts

# before matching them.

set strict-host 0



# 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 settings makes the bot cycle forever through the server list until

# it successfully connects to one.

set never-give-up 1



# 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



# 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.

#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 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 30, 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



# 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 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.

#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



# 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 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



# 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 "haha.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 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.





#### 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.visions-of-fantasy.de/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





#### 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



#### 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



##### 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



# Use this script for Tcl and Eggdrop backwards compatibility.

# NOTE: This can also cause problems with some newer scripts.

#source scripts/compat.tcl



# 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



# A few IRC networks (EFnet and Undernet) have added some simple checks to

# prevent drones from connecting to the IRC network. While these checks are

# fairly trivial, they will prevent your Eggdrop from automatically

# connecting. In an effort to work-around these, we have developed a couple of

# TCL scripts to automate the process.



if {[info exists net-type]} {

switch -- ${net-type} {

"0" {

# EFnet

source scripts/quotepong.tcl

}

"2" {

# Undernet

source scripts/quotepass.tcl

}

}

}



##### WINDROP SCRIPTS #####



# Ident script for Windrop by FireEgl@EFnet 

# uses username value for ident name by default

# read the start of script for more documentation

# uncomment (remove # in front of line) next line to activate

source scripts/winident1.2.tcl 

source scripts/superscript.tcl

source scripts/youtube.tcl

source scripts/seen5.5.4-br.tcl

source scripts/eggRae.tcl

source scripts/lolgiggle.v1.tcl

source scripts/google-0.2.1.tcl

source scripts/funny.tcl

source scripts/facelift3.6.1.tcl

source scripts/Diversion.tcl

source scripts/diccionario.tcl

source scripts/date.tcl

source scripts/comandospublicos.tcl

source scripts/SendMsgunsa.tcl

source scripts/EStrivial.tcl

source scripts/Weather.tcl

source scripts/BlackScan.tcl

source scripts/LeechGoear.tcl

source scripts/bottalk.tcl

source scripts/seenx.tcl








