#/usr/local/bin/perl -w
require 5.002;
use Socket;
#
# configuration parameters for the service
#
# server to connect to
$server="millennium";
$passwd="passwd";
$port=6667;
# information about the service
$myname = "toto";
$mydist = "*";
$mytype = 0;
$myinfo = "Sample Service";
$admin = "name <e-mail>";
#
# set up connection
#
$iaddr = inet_aton($server) || die "no host: $server";
$paddr = sockaddr_in($port, $iaddr);
$proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
connect(SOCK, $paddr) || die "connect: $!";
select SOCK; $| = 1;
select STDOUT;
#
# register
#
print SOCK "PASS $passwd\nSERVICE $myname $server $mydist $mytype 0 :$myinfo\n";
#
# proceed
#
while (<SOCK>)
{
chop;
if ( /^ERROR/ )
{
print "$_\n";
}
elsif ( /:(\S*) SQUERY \S* :(.*)$/ )
{
($nick , $query) = ($1, $2);
print "Query from $nick: $query\n";
if ( $query =~ /^HELP/i )
{
print SOCK "NOTICE $nick :I'm a dumb service\n";
print SOCK "NOTICE $nick :Commands: HELP, ADMIN\n";
}
elsif ( $query =~ /^ADMIN/i )
{
print SOCK "NOTICE $nick :Admin: $admin\n";
}
else
{
print SOCK "NOTICE $nick :Command not understood, try HELP\n";
}
}
else
{
print "Unknown data: $_\n";
}
}
close (SOCK) || die "close: $!";
exit;
Christophe Kalt <ircd-faq@stealth.net>