//Achtung: Ist jetzt im Haskell-Bot von fpletz implementiert.// #!/usr/bin/perl open(HANDLE, "/home/kiu/.xchat2/xchatlogs/rettungskapsel-#ccc.log"); open(NC, "|nc -u matrix 2323"); select((select(NC), $| = 1)[0]); while ($record = ) { } print NC "IRCBot started"; while (1) { if (! ($record = )) { sleep 1; } $_ = $record; if ($record =~ m/MATRIX/) { $record =~ s/[\'\"\*\^\|\`|\_]//g; $record =~ s/(.*)\t//; $record =~ s/\((.*)\) has//; $record =~ s/MATRIX//; $record =~ s/ä/ae/; $record =~ s/ü/ue/; $record =~ s/ö/oe/; $record =~ s/Ä/Ae/; $record =~ s/Ü/Ue/; $record =~ s/Ö/Oe/; $record =~ s/ß/ss/; print "$record"; print NC "$record"; } } close(HANDLE); close(NC); #!/usr/bin/perl use Socket; my %opt = ( "hostname" => "matrix", "hostport" => 2323, "filename" => "/home/kiu/.xchat2/xchatlogs/rettungskapsel-#ccc.log" ); my $fh; if ( ! open($fh,$opt{"filename"}) ) { die("open failed with $!\n"); }; socket(my $sh,PF_INET,SOCK_DGRAM,getprotobyname('udp')); print "IRCBot started\n"; seek($fh,0,2); while (1) { my $record = <$fh>; if ($record =~ m/MATRIX/) { $record =~ s/[\'\"\*\^\|\`|\_]//g; $record =~ s/(.*)\t//; $record =~ s/\((.*)\) has//; $record =~ s/MATRIX//; $record =~ s/ä/ae/; $record =~ s/ü/ue/; $record =~ s/ö/oe/; $record =~ s/Ä/Ae/; $record =~ s/Ü/Ue/; $record =~ s/Ö/Oe/; $record =~ s/ß/ss/; print "$record"; send($sh,$record,0,sockaddr_in($opt{"hostport"},inet_aton($opt{"hostname"}))); }; }; close($fh); {{tag>projects home}}