#!/usr/bin/perl -w
use strict;
use CGI qw/:standard escape escapeHTML/;

my $title="IRCLink";
$|++;
my $name=param('name') ||cookie('name');

$SIG{__DIE__}=sub{print @_;die};

print header,#({cookie=>cookie{name=>'name',value=>'}}), 
    start_html({dtd=>"-//W3C//DTD HTML 3.2 Final//EN",title=>$title});
print h1 $title;

my $nick=param('nick');
my $chan=param('chan');
my $msg=param('msg');

if ($nick && $chan && $msg) {
    print "Sending message... ";
    eval {
	use IO::Socket::UNIX;
	use IO::Select;
	my $external=new IO::Socket::UNIX ('/tmp/botsock') or die $!;
	$external->blocking(0);
	print $external "$nick $chan $msg" or die $!;
	shutdown $external, 1;
	die "no response" unless IO::Select->new($external)->can_read(10);
	my $response=<$external>;
	die "declined" unless $response eq "OK\n";
    };
    if ($@) {
	print "Failed.";
    } else { 
	print "done.";
    }
}

param('chan',"#chronos") unless $chan;
param('msg',"");
print 
    start_form,
    table(Tr[td(['Who',textfield('nick')]),
	     td(['Where',textfield('chan')]),
	     td(['What',textfield('msg')]),
	     ]),
    submit('yarrrr','Avast!'),
    end_form;

print end_html;
