Added support for PASS

This commit is contained in:
Matthew Barksdale committed 2011-01-20 00:39:37 -05:00
1 parent 7d109edabd
commit 00fad2e09d
2 files changed
+65 -1

No files matched your search

+7 -1
View File
@@ -85,7 +85,7 @@ our %SETTINGS = $CONF->parse or err(1, "Failed to parse configuration file!", 1)
println " Success";
# Check for required configuration values.
my @REQCVALS = qw(locale expire_logs servers);
my @REQCVALS = qw(locale expire_logs server);
foreach my $REQCVAL (@REQCVALS) {
if (!conf_get($REQCVAL)) {
my $err = 2;
@@ -153,6 +153,12 @@ foreach my $cskey (keys %cservers) {
PeerAddr => $cservers{$cskey}{'host'}[0],
PeerPort => $cservers{$cskey}{'port'}[0]
) or err(2, "Failed to connect to server: ".$cskey." [".$cservers{$cskey}{'host'}[0].":".$cservers{$cskey}{'port'}[0]."]", 0) and next; # Or error.
# Send PASS if we have one
if (defined $cservers{$cskey}{'pass'}[0]) {
socksnd($cskey, "PASS :".$cservers{$cskey}{'pass'}[0]) or
err(2, "Failed to connect to server: ".$cskey." [".$cservers{$cskey}{'host'}[0].":".$cservers{$cskey}{'port'}[0]."]", 0)
and next;
}
# Send USER and NICK.
socksnd($cskey, "USER ".$cservers{$cskey}{'ident'}[0]." * * :".$cservers{$cskey}{'realname'}[0]) or
err(2, "Failed to connect to server: ".$cskey." [".$cservers{$cskey}{'host'}[0].":".$cservers{$cskey}{'port'}[0]."]", 0)
+58
View File
@@ -0,0 +1,58 @@
# Auto Example Configuration File.
# Server block.
server "Freenode" {
# Server address/IP.
host "irc.freenode.net";
# Server port.
port 6667;
# Bot nickname.
nick "SomeBot";
# Bot ident.
ident "SomeBot";
# Bot realname.
realname "SomeBot";
# IP/host to connect from.
bind 0.0.0.0;
# Single-line channel auto-join.
ajoin "#freenode,#somebot";
}
# Server block.
server "Thinstack" {
# Server address/IP.
host "irc.thinstack.net";
# Server port.
port 6667;
# Bot nickname.
nick "SomeBot";
# Bot ident.
ident "SomeBot";
# Bot realname.
realname "SomeBot";
# IP/host to connect from.
bind 0.0.0.0;
# Multi-line channel auto-join.
ajoin "#xelhua";
ajoin "#somebot";
}
# Privileges.
privset "owner" {
priv "ALL";
}
# User access.
user "starcoder" {
nick "starcoder";
ident "*";
host "starcoder.info";
privs "owner";
}
# Locale.
locale "en_US";
# Module autoload.
module "m_weather";
module "m_gcalc";