html/page_reeler.pl
1 # Page script 0.2
2 #
3 # Thomas Graf <irssi@reeler.org>
4
5 use Irssi;
6 use Irssi::Irc;
7 $VERSION = "0.2";
8 %IRSSI = (
9 authors => 'Thomas Graf',
10 contact => 'irssi@reeler.org',
11 name => 'page',
12 description => 'display and send CTCP PAGE',
13 license => 'GNU GPLv2 or later',
14 url => 'http://irssi.reeler.org/',
15 );
16
17 use strict;
18
19 sub sig_ctcp_msg
20 {
21 my ($server, $args, $sender, $addr, $target) = @_;
22
23 if ( $args =~ /page/i ) {
24 Irssi::active_win()->printformat(MSGLEVEL_CRAP, 'page', "$sender!$addr is paging you!");
25 Irssi::signal_stop();
26 }
27 }
28
29 sub sig_page
30 {
31 my ($cmd_line, $server, $win_item) = @_;
32 my @args = split(' ', $cmd_line);
33
34 if (@args <= 0) {
35 Irssi::active_win()->print("Usage: PAGE <nick>");
36 return;
37 }
38
39 my $nick = lc(shift(@args));
40
41 $server->command("CTCP $nick PAGE");
42 }
43
44 Irssi::signal_add_first('default ctcp msg', 'sig_ctcp_msg');
45 Irssi::command_bind('page', 'sig_page');
46
47 Irssi::theme_register(['page', '[%gPAGE%n]$0-']);