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