1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# Example how to do redirections, we'll grab the output of /WHOIS:
# /RN - display real name of nick
use Irssi;
use Irssi::Irc;
use strict;
use vars qw($VERSION %IRSSI);
$VERSION = "1.00";
%IRSSI = (
authors => 'Timo Sirainen',
name => 'redirect',
description => 'Redirection example',
license => 'Public Domain'
);
sub cmd_realname {
my ($data, $server, $channel) = @_;
# ignore all whois replies except "No such nick" or the
# first line of the WHOIS reply
$server->redirect_event('whois', 1, $data, -1, '', {
'event 402' => 'event 402',
'event 401' => 'event 401',
'event 311' => 'redir whois',
'' => 'event empty' });
$server->send_raw("WHOIS :$data");
}
sub event_rn_whois {
my ($num, $nick, $user, $host, $empty, $realname) = split(/ +/, $_[1], 6);
$realname =~ s/^://;
Irssi::print("%_$nick%_ is $realname");
}
Irssi::command_bind('rn', 'cmd_realname');
Irssi::signal_add('redir whois', 'event_rn_whois');
|