rendered paste body#!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
);