diff --git a/bin/auto b/bin/auto index 4c3399b..6f0ae6c 100755 --- a/bin/auto +++ b/bin/auto @@ -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) diff --git a/etc/auto.conf b/etc/auto.conf new file mode 100644 index 0000000..63bdec1 --- /dev/null +++ b/etc/auto.conf @@ -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";