Added option parsing.
authorrjones <rjones>
Thu, 5 Jul 2007 12:43:14 +0000 (12:43 +0000)
committerrjones <rjones>
Thu, 5 Jul 2007 12:43:14 +0000 (12:43 +0000)
README
xavierbot.pl
xavierbot.pl.in

diff --git a/README b/README
index ea53c40..78e0171 100644 (file)
--- a/README
+++ b/README
@@ -35,3 +35,25 @@ Either:
   sudo make install
 or:
   sudo make permissions
+
+RUNNING ---------------------------------------------
+
+You need to do either sudo make install or sudo make permissions in
+order to create the suid wrapper program (see previous section).
+
+To run, simply do:
+
+  ./xavierbot.pl
+
+Default configuration comes from the top of the file xavierbot.pl.in.
+You may also override the defaults on the command line.  For example:
+
+  ./xavierbot.pl --server irc.example.com
+
+The options are:
+
+  --nick <nick>                Change nick (default: xavierbot)
+  --ircname <name>     Change printable name (default: Xavierbot)
+  --server <server>    Change server (default: chat.freenode.net)
+  --port <portnum>     Change port (default: 6667)
+  --channel <chan>     Change channel (default: #ocaml)
index d07ac41..824c198 100755 (executable)
@@ -1,11 +1,12 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -w
 # xavierbot : an OCaml interpreter IRC bot.
 # By Richard W.M. Jones <rich@annexia.org>.
 # This code is in the Public Domain.
-# $Id: xavierbot.pl,v 1.10 2007/06/29 21:44:02 rjones Exp $
+# $Id: xavierbot.pl,v 1.11 2007/07/05 12:43:14 rjones Exp $
 
 use strict;
 use POE qw(Component::IRC Wheel::Run);
+use Getopt::Long;
 
 #----------------------------------------------------------------------
 # Start of configuration.
@@ -13,13 +14,19 @@ use POE qw(Component::IRC Wheel::Run);
 my $nick = "xavierbot";
 my $ircname = "Xavierbot";             # Printable name.
 my $server = "chat.freenode.net";
-#my $server = "devserv.devel.redhat.com";
 my $port = 6667;
 my $channel = "#ocaml";
 
 # End of configuration.
 #----------------------------------------------------------------------
-# Current state.
+
+# Command line args can override configuration.
+GetOptions ("nick=s" => \$nick,
+           "ircname=s" => \$ircname,
+           "server=s" => \$server,
+           "port=i" => \$port,
+           "channel=s" => \$channel)
+    or die "$0: GetOptions: $!";
 
 # Simple flood protection.  This counts number of lines received from
 # the toplevel, and is reset when we send a line.  If this exceeds
index 8f01f0b..c0e0f82 100755 (executable)
@@ -1,11 +1,12 @@
-#!/usr/bin/perl -wT
+#!/usr/bin/perl -w
 # xavierbot : an OCaml interpreter IRC bot.
 # By Richard W.M. Jones <rich@annexia.org>.
 # This code is in the Public Domain.
-# $Id: xavierbot.pl.in,v 1.7 2007/06/29 21:44:02 rjones Exp $
+# $Id: xavierbot.pl.in,v 1.8 2007/07/05 12:43:14 rjones Exp $
 
 use strict;
 use POE qw(Component::IRC Wheel::Run);
+use Getopt::Long;
 
 #----------------------------------------------------------------------
 # Start of configuration.
@@ -13,13 +14,19 @@ use POE qw(Component::IRC Wheel::Run);
 my $nick = "xavierbot";
 my $ircname = "Xavierbot";             # Printable name.
 my $server = "chat.freenode.net";
-#my $server = "devserv.devel.redhat.com";
 my $port = 6667;
 my $channel = "#ocaml";
 
 # End of configuration.
 #----------------------------------------------------------------------
-# Current state.
+
+# Command line args can override configuration.
+GetOptions ("nick=s" => \$nick,
+           "ircname=s" => \$ircname,
+           "server=s" => \$server,
+           "port=i" => \$port,
+           "channel=s" => \$channel)
+    or die "$0: GetOptions: $!";
 
 # Simple flood protection.  This counts number of lines received from
 # the toplevel, and is reset when we send a line.  If this exceeds