1# Page script 0.2
2#
3# Thomas Graf <irssi@reeler.org>
4
5use strict;
6use Irssi;
7use Irssi::Irc;
8use vars qw($VERSION %IRSSI);
9$VERSION = "0.2";
10%IRSSI = (
11    authors     => 'Thomas Graf',
12    contact     => 'irssi@reeler.org',
13    name        => 'page',
14    description => 'display and send CTCP PAGE',
15    license     => 'GNU GPLv2 or later',
16    url         => 'http://irssi.reeler.org/',
17);
18
19sub 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
29sub 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
44Irssi::signal_add_first('default ctcp msg', 'sig_ctcp_msg');
45Irssi::command_bind('page', 'sig_page');
46
47Irssi::theme_register(['page', '[%gPAGE%n]$0-']);
48