1# CopyLeft Riku Voipio 2001
2# Mofile Bot
3use Irssi;
4use Irssi::Irc;
5
6use vars qw($VERSION %IRSSI);
7
8$VERSION = "1.0";
9%IRSSI = (
10        authors     => "Riku Voipio",
11        contact     => "riku.voipio\@iki.fi",
12        name        => "sana",
13        description => "responds to \"!sana test\" command on channels/publics with a finnish/english translatioin given as parameter",
14        license     => "GPLv2",
15        url         => "http://nchip.ukkosenjyly.mine.nu/irssiscripts/",
16    );
17
18
19
20sub cmd_sana_priv {
21        my ($server, $data, $nick, $mask ) =@_;
22	return cmd_sana($server, $data, "", $mask, $nick);
23}
24sub cmd_sana {
25        my ($server, $data, $nick, $mask, $target) =@_;
26	if ($data=~/^!sana/){
27		@foo=split(/\s+/,$data);
28		$len=@foo;
29		if ($len==1){
30		    $foo[1]="aloittelija";
31		}
32		# Haxxor protection
33		$word=$foo[1];
34		$_=$word;
35		$word=~s/[^a-zA-Z����]//g;
36		open(DAT, "lynx --dump http://212.213.217.194/cgi-bin/mofind.exe/dr1?word=".$word."|");
37		$count=0;
38		$sucks=0;
39		$result="";
40		foreach $line (<DAT>)
41		{
42			if ($line=~/\(.*\)/)
43			{
44				$_=$line;
45				$line=~s/\s+/ /g;
46				$_=$line;
47				$line=~s/( $|^ )//g;
48				$result.=$line.",";
49			}
50		}
51		if (length($result)<2)
52		{
53 			$result="Ei l�ydy..";
54		}
55
56		chop($result);
57		$server->command("/notice ".$target." ".$result);
58		close(DAT);
59	}
60}
61
62Irssi::signal_add_last('message public', 'cmd_sana');
63Irssi::signal_add_last('message private', 'cmd_sana_priv');
64Irssi::print("Sanakirja info bot by nchip loaded.");
65
66
67