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