diff options
Diffstat (limited to 'feature-tests')
| -rw-r--r-- | feature-tests/signal_redir.pl | 38 | 
1 files changed, 28 insertions, 10 deletions
| diff --git a/feature-tests/signal_redir.pl b/feature-tests/signal_redir.pl index 15f9f08..89da34c 100644 --- a/feature-tests/signal_redir.pl +++ b/feature-tests/signal_redir.pl @@ -1,23 +1,36 @@  # mangled from cmpusers.pl (unpublished, afaik) by Bazerka <bazerka@quakenet.org>. +# He is not to blame for any problems, contact me instead.  use strict;  use warnings;  use Irssi; -use Data::Dumper; -my $debug = 1; -my $running = 0; # flag to prevent overlapping requests. +our $VERSION = "0.1"; +our %IRSSI = +  ( +   authors     => "shabble, Bazerka", +   contact     => 'shabble+irssi@metavore.org, shabble@#irssi/Freenode,' +                . 'bazerka@quakenet.org', +   name        => "signal_redir", +   description => "Demonstration showing how to redirect a remote WHOIS"  +                . "command so the results can be captured by a script.", +   license     => "BSD", +   url         => "https://github.com/shabble/irssi-scripts/", +   changed     => "Fri Apr 1 00:05:39 2011" +  ); +my $running = 0; # flag to prevent overlapping requests. +my $debug = 1;  sub redir_init {      # set up event to handler mappings      Irssi::signal_add          ({ -          'redir test_redir_whois_user'       => \&event_whois_user, -          'redir test_redir_whois_channels'   => \&event_whois_channels, -          'redir test_redir_whois_end'        => \&event_whois_end, -          'redir test_redir_whois_nosuchnick' => \&event_whois_nosuchnick, -          'redir test_redir_whois_timeout'    => \&event_whois_timeout, +          'redir test_redir_whois_user'       => 'event_whois_user', +          'redir test_redir_whois_channels'   => 'event_whois_channels', +          'redir test_redir_whois_end'        => 'event_whois_end', +          'redir test_redir_whois_nosuchnick' => 'event_whois_nosuchnick', +          'redir test_redir_whois_timeout'    => 'event_whois_timeout',           });  } @@ -36,8 +49,7 @@ sub request_whois {          ''          => 'event empty',         }        ); -    Irssi::print("Sending Command: WHOIS $nick", MSGLEVEL_CLIENTCRAP) -      if $debug; +    Irssi::print("Sending Command: WHOIS $nick", MSGLEVEL_CLIENTCRAP) if $debug;      # send the actual command directly to the server, rather than      # with $server->command()      $server->send_raw("WHOIS $nick"); @@ -52,7 +64,13 @@ sub event_whois_user {  sub event_whois_channels {      my ($server, $data) = @_;      my ($nick, $channels) = ( split / +/, $data, 3 )[ 1, 2 ]; +    my $prefix = 'cowu.be'; # server name +    my $args = "shabble";   # match criteria +    my $event = 'event 319'; # triggering event +    my $sig = $server->redirect_get_signal($prefix, $event, $args);      Irssi::print("test_redir whois_channels: $nick, $channels", MSGLEVEL_CLIENTCRAP); +    Irssi::print("test_redir get_signal: $sig", MSGLEVEL_CLIENTCRAP); +  }  sub event_whois_end { | 
