diff -ur irpgbot.v3.1.2/.irpg.conf irpgbot.v3.1.2+johm+chschu/.irpg.conf
--- irpgbot.v3.1.2/.irpg.conf	Mon Jun  7 12:28:56 2004
+++ irpgbot.v3.1.2+johm+chschu/.irpg.conf	Tue Jun 15 01:08:44 2004
@@ -17,6 +17,9 @@
 # remove or comment out this line so the bot knows that you edited the config
 # file
 die
+
+# Use ipv6 to connect to irc server?
+ipv6 off
 
 # local hostname or address to bind to. leave blank or comment out if you don't
 # want to use a vhost
diff -ur irpgbot.v3.1.2/bot.v3.1.2.pl irpgbot.v3.1.2+johm+chschu/bot.v3.1.2.pl
--- irpgbot.v3.1.2/bot.v3.1.2.pl	2004-06-07 16:06:06.000000000 +0200
+++ irpgbot.v3.1.2+johm+chschu/bot.v3.1.2.pl	2004-06-17 00:22:08.000000000 +0200
@@ -28,6 +28,7 @@
 use strict;
 use warnings;
 use IO::Socket;
+use IO::Socket::INET6;
 use IO::Select;
 use Data::Dumper;
 use Getopt::Long;
@@ -42,6 +43,7 @@
 GetOptions(\%opts,
     "help|h",
     "verbose|v",
+    "ipv6",
     "debug",
     "debugfile=s",
     "server|s=s",
@@ -225,11 +227,18 @@
 
 while (!$sock && $conn_tries < 2*@{$opts{servers}}) {
     debug("Connecting to $opts{servers}->[0]...");
-    my %sockinfo = (PeerAddr => $opts{servers}->[0],
-                    PeerPort => 6667);
+    my %sockinfo = (PeerAddr => $opts{servers}->[0]);
     if ($opts{localaddr}) { $sockinfo{LocalAddr} = $opts{localaddr}; }
-    $sock = IO::Socket::INET->new(%sockinfo) or
-        debug("Error: failed to connect: $!\n");
+
+    if ($opts{ipv6}) {
+        $sock = IO::Socket::INET6->new(%sockinfo) or
+            debug("Error: failed to connect: $!\n");
+    }
+    else {
+        $sock = IO::Socket::INET->new(%sockinfo) or
+            debug("Error: failed to connect: $!\n");
+    }
+
     ++$conn_tries;
     if (!$sock) {
         # cycle front server to back if connection failed
