s#!/path/to/eggdrop
#
# sample bot configuration file for eggdrop 0.9d and above
# This creates the bot "LamestBot", which sits on channel #lamest.
# (Originally I intended this to create the bot "LameBot", but then
# I found out there's already a bot with that name!  AND there's also
# a LamerBot! *laugh*)
#
# THIS CONFIGFILE WILL ONLY WORK IF YOU LINKED WITH TCL
#   If you didn't link with Tcl, you need to use "egg.config.dist" instead.
#

# set up the /whois information
set nick "Lamestbot"
set username "lamest"       ;# does not work if you have ident running!
set realname "/msg LamestBot hello"

# set up channel information
set home-channel "#lamest"
set chanmode "+nt-likm"    ;# what channel modes will be enforced?

# more servers is better, duplicates are allowed
set servers {
  Tampa.FL.US.undernet.org:6667
  Washington.DC.US.undernet.org:6667
  Montreal.QU.CA.undernet.org:6667
  Rochester.MI.US.undernet.org:6667
  Albany.NY.US.undernet.org:6667
  Boston.MA.US.undernet.org:6667
  Norman.OK.US.undernet.org:6667
  Manhattan.KS.US.undernet.org:6667
  Milwaukee.WI.US.undernet.org:6667
  StGeorge.UT.US.undernet.org:6667
  Davis.CA.US.undernet.org:6667
  Austin.TX.US.undernet.org:6667
  SanJose.CA.US.undernet.org:6667
}
set servlimit 10           ;# will change servers if split falls below this

# a bunch of boolean variables and what they mean
set log-time 1       ;# timestamp entries in the log file
set clear-bans 0     ;# clear all channel bans when the bot joins (ie, force
                      #   the channel bans to match the bot's internal list)
set op-on-join 0     ;# +o oplisters when they join the channel (BAD IDEA)
set revenge 1        ;# bot remembers and punishes people who harm it
set greet 1          ;# users who have an info-line set will get greeted when
                      #   they join the channel
set learn-users 1    ;# let users introduce themselves via a "hello" msg
set require-x 0      ;# users who are op'd will still need the x flag to enter
                      #   the file area
set require-p 0      ;# users who are op'd will still need the p flag to join
                      #   the party line
set enforce-bans 1   ;# kick people who match channel bans
set use-info 1       ;# allow users to store & display info about themselves
set share-users 0    ;# share user data with other tandem bots on the channel
                      #   who want to share with you
set passive 1        ;# allow other bots' userfiles to take precedence when
                      #   sharing user data with them
set strict-host 0    ;# leave the leading '~' on usernames in user@host
set raw-files 0      ;# show file directories as the actually are, not just
                      #   the ones you've made visible (no descriptions either)
set isolate 0        ;# don't merge party lines with tandem bots
set keep-all-logs 0  ;# keep logfiles older than 48 hours
set chan-updates 1   ;# show channel status line every five minutes
set perm-bans 1      ;# make sure internal bans are always active on channel
set upload-to-cd 0   ;# send uploads to user's current dir instead of incoming
set bitch 0          ;# only let +o users ever have channel op
set never-give-up 0  ;# even if all the servers are down, cycle forever and
                      #   keep trying to connect
set protect-ops 1    ;# re-op a +o user if they get deopped
set open-telnets 0   ;# allow people to telnet in, type 'NEW', and become a
                      #   new user on the bot
set forbid-bans 0    ;# only let bans be made via the bot, not directly


# set logfiles up:  (default maximum is 5)
# events are logged by certain categories -- this way you can specify
# exactly what kind of events you want sent to various logfiles
#   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
#   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 defined in eggdrop.h) EVERYTHING sent to the bot by the server
#   o  other: misc info, errors -- stuff you probably want to know about
logfile "mkco" "eggdrop.log"      ;# msgs, kicks/bans/modes, commands, other
logfile "c" "eggdrop.cmds"        ;# commands only

# 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)
set console "mkcobx"              ;# default console mode for masters

##### FILE AREA:

# define this if you want a file transfer section
set dcc-path "/home/mydir/dcc"

# define this if you will allow uploads
# (if you have 'upload-to-cd' set on, this will be ignored)
set dcc-incoming "/home/mydir/dcc/incoming"

# set maximum number of simultaneous downloads to allow for each user
set dcc-limit 3

# set the block size for dcc transfers (ircII uses 512 bytes, but admits
#   that may be too small)
set dcc-block 1024

# maximum allowable file size that will be received, in K
# (default is 1024K = 1M)
set dcc-maxsize 1024


# telnet connections / bot linking
set telnet 3333

# the userfile: where user records are stored
set userfile "LamestBot.user"

# the notefile: where private notes between users are stored
set notefile "LamestBot.notes"

# helpdir: where the help files can be found (and there are plenty)
# textdir: where miscellaneous info files are
# tempdir: a good place to temporarily store files (ie: /tmp)
set helpdir "help/"
set textdir "text/"
set tempdir "/tmp/"

# the MOTD is displayed when people dcc chat to the bot
set motd "motd"

# things to send the server when various events occur
# gain-ops -> when the bot wants to be opped
# init-server -> on first connecting to a server
set gain-ops "PRIVMSG #lamest :somebody op me please... cos i'm LAME!"
set init-server "MODE LamestBot +i-ws"

# who's running this bot?
set admin "Lamer <email: lamer@lame.connected.com>"

# response for CTCP VERSION
set ctcp-version "ircII 2.6 SunOS 4.1.3 :ircii 2.6: almost there..."

# response for CTCP FINGER
set ctcp-finger "(root@home), idle 0 seconds"

# use a separate helpbot? define this
# (not really recommended unless your bot sends a lot of info out to irc)
#set helpbot "LameHelp"

# how many msgs in one minute from the same host constitutes a flood?
set flood-msg 5
# how many public msgs?
set flood-chan 10
# how many joins?
set flood-join 5

# temporary bans will last how many minutes?
set ban-time 60
# temporary ignores will last how many minutes?
set ignore-time 10

# kick channel members after how many minutes of being idle?
# (set to 0 to disable)
set idle-kick 0

# send a note to anybody when I learn new users?
set notify-newusers "HQ"

# if compiled with owner, the following user(s) will ALWAYS have the
# owner (+n) flag
set owner "MrLame, MrsLame"

# what flags should new users get as a default?
set default-flags "px"

# define a new command 'yankee' for amusement purposes...
proc cmd_yankee {nick uhost handle args} {
  putserv "privmsg $nick :I'm not a goddamn yankee!!"
  return 1
}
bind msg - yankee cmd_yankee   ;# msg command, no flags needed, called 'yankee'

# load that toolkit of useful scripts
source samples
source botkick
