#!perl # $Id: relay-bot.config,v 1.21 2006/03/19 16:47:32 freiheit Exp $ # This is a sample config file; more things will be added to this later. # Configuration options, 1 = enable, 0 = disable, edit as required... %config = ( # Nick/handle/name nick => 'DarkSorceryMyst', # Disconnect sleep time in seconds; # How long it sleeps after being disconnected from # a network. Keep at least 1 second to avoid flooding # servers; setting too high may disconnect you from other # networks disconnect_sleep => 3, # Echo public messages # You almost certainly want this! echo_public_msg => 1, # Echo private messages echo_private_msg => 1, # Echo public actions echo_public_action => 1, # Echo joins echo_join => 1, # Echo parts echo_part => 1, # Echo nick changes echo_nick => 1, # Echo kicks echo_kick => 1, # Echo channel mode changes echo_cmode => 1, # Echo user mode changes echo_umode => 1, # Echo quits echo_quit => 1, # Set topic on echo channels echo_set_topic => 1, # Echo topic changes echo_topic => 1, # Run in the background # Note: turning this option on requires that "Proc::Daemon" is # installed daemonize => 0, # IP Address of interface to connect through. # Sometimes needed with multiple # ethernet cards. Actually problem in # Net::IRC : # Ex: interface_address = '66.92.186.143'; interface_address => "", # Log file name. If empty string "", writes # to standard out. logfile => "", # If logfile_buffering is disabled, writes to the # logfile will be immediately written to the file logfile_buffering => 1, ); # %Relays contains the network, server, and channel info previously contained # in %hosts and %relay_channels, plus additional info for future additions. # The old style specifications is still accepted, however. # # The 'group' name specification can be a number or a text string since it # is used as a hash key: Group names such as "public" & "private", or "user", # "tester", and "developer" will work just fine. # # rcv and xmit should be a '0' or '1' however, since they are used as booleans. %Relays = ( # SorceryNet sorcery => { servers => [ "irc.sorcery.net", ], channels => { "#D&DPathfinder" => { passwd => "", group => "My D&D", rcv => 1, xmit => 1, }, }, }, #Darkmyst dark => { servers => [ "irc.darkmyst.org", ], channels=> { "#homebrew" => { passwd => "", group => "my D&D", rcv => 1, xmit => 1, }, }, }, # EFNet: #ef => { #servers => [ "irc.efnet.org", #"irc.rt.ru", #"efnet.cs.hut.fi", #], #channels => { #"#relaybot" => { #passwd => "", #group => "relaybot", #rcv => 1, #xmit => 1, #}, #"#relay-bot" => { #passwd => "", #group => "relay-bot", #rcv => 1, #xmit => 1, #}, #}, #}, #Undernet: #under => { #servers => [ "washington.dc.us.undernet.org", #"atlanta.ga.US.Undernet.Org", # "austin.tx.us.undernet.org", # "mclean.va.undernet.org", #"us.undernet.org", #"undernet.org", #"lasvegas.nv.us.undernet.org", #], #channels => { #"#relaybot" => { # passwd => "", # group => "relaybot", # rcv => 1, # xmit => 1, #}, #"#relay-bot" => { #passwd => "", #group => "relay-bot", # rcv => 1, # xmit => 1, # }, #}, # }, #OpenProjects #op => { # servers => [ "irc.openprojects.net", # "irc.fandanta.org", # "irc.debian.org", # "irc.nblug.org", # ], # channels => { # "#relaybot" => { # passwd => "", # group => "relaybot", # rcv => 1, # xmit => 1, # }, # "#relay-bot" => { # passwd => "", # group => "relay-bot", # rcv => 1, # xmit => 1, # }, # }, # }, #IRCNet # ircnet => { # servers => [ "irc.stealth.net:6660", # "irc.ludd.luth.se:6661", # "irc.stealth.net:6661", # "irc.ludd.luth.se:6663", # "irc.stealth.net:6662", # "irc.ludd.luth.se:6668", # "irc.missingU.com", # "irc.cs.hut.fi", # "irc.asmparty.net", # "hub1.irc.easynet.net", # "irc-1.stealth.net", # "irc-2.stealth.net", # "irc-3.stealth.net", # "irc.ludd.luth.se", # "irc.nl.uu.net", # ], # channels => { # "#relaybot" => { # passwd => "", # group => "relaybot", # rcv => 1, # xmit => 1, # }, # "#relay-bot" => { # passwd => "", # group => "relay-bot", # rcv => 1, # xmit => 1, # }, # }, # }, ); # relay_channels_extra remains... # This is a deprecated method for specifying what "group"s are now used for: # %relay_channels_extra = ('#relaybot' => ['#relay-bot'], # '#relay-bot' => ['#relaybot']); my $badpersonpriv = {}; my $normalpriv = { 'names' => 1 }; my $partjoinpriv = { %{$normalpriv}, 'part' => 1, 'join' => 1 }; my $operpriv = { %{$partjoinpriv}, 'restart' => 1, 'quit' => 1, 'op' => 1, 'add' => 1, }; my $allpriv = { '*' => 1 }; # Those who may do things. The first match takes precedence. Patterns are # evaluated case-insensitively unless they have capital letters in them. @authorizations = ( # This sets "badperson" for nicks like 'tron', # AOL users and PSI.net users. # [ '^.?.?tr[o0]n|\.aol\.com|\.psi\.net' => $badpersonpriv # ], # The two people that run this bot... # [ '^\w+!~?(aqua|eric)@' # .'atlantic\.devin\.com$' # => $operpriv # ], [ '^\w+!~?(Teraunce)@\^w+~?\.maine\.res\.rr\.com$' => $operpriv], # Their girlfriends... # [ '^\w+!~?(echoes|ramoth)@' # .'atlantic\.devin\.com$' # => $operpriv # ], # A fairly decent list of handles people we "like" that # come into our channel # [ '^.?(ligeia|requiem|moppet|diphen|whitebird|aigeanta|proteous|freiheit|falsch|dragongrl).?!' # => $partjoinpriv # ], # Everybody else. [ '.' => $normalpriv ], ); # Users who match an elements in the @auto_ops array will be given ops # by the bot upon joining a channel. @auto_ops = ( # Auto-ops '~user@adsl-63-197-80-100\.dsl\.snfc21\.pacbell\.net', # Static Address '~user@63\.197\.80\.100', # IP Number '~user@adsl-\d+-\d+-\d+-\d+\.dsl\.snfc21\.pacbell\.net', '^\w+!Teraunce@cpe-\d+-\d+-\d+-\d+\.maine\.res\.rr\.com', # DHCP/Dynamic Address );