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-']);