#!/usr/bin/perl ## Put me in ~/.irssi/scripts, and then execute the following in irssi: ## ## /load perl ## /script load notify_irssi.pl ## use strict; use IO::Socket; use Irssi; use vars qw($VERSION %IRSSI); $VERSION = "0.01"; %IRSSI = ( authors => 'konni', contact => 'konstantin.koslowski@gmail.com', name => 'notify_irssi.pl', description => 'TODO', license => 'GNU General Public License', url => 'none', ); my $divider = ":::"; # server, nick, msg, active sub notify { my $sock = new IO::Socket::INET ( PeerAddr => '127.0.0.1', PeerPort => '7090', Proto => 'tcp', ); if ($sock) { my($server, $nick, $msg, $active) = @_; print $sock $server,$divider,"$nick",$divider,"$msg",$divider,$active; } } sub notify_message { my($dest, $msg, $nick, $address, $target) = @_; my $server = $dest->{server}; my $active_win = Irssi::active_win(); my $active = 0; if ($active_win->get_active_name() eq $nick) { $active = 1; } # return if ($active); notify($server, $nick, $msg, $active); } sub notify_print { my ($dest, $text, $msg) = @_; my $server = $dest->{server}; my $nick = $dest->{target}; return if (!$server || !($dest->{level} & MSGLEVEL_HILIGHT)); $msg =~ s/[^a-zA-Z0-9 .,!?\@:\>]//g; notify($server, $nick, $msg, 0); } Irssi::signal_add("message private", "notify_message"); Irssi::signal_add("message invite", "notify_message"); Irssi::signal_add("print text", "notify_print"); #Irssi::signal_add("dcc request", "notify");