/var/www/www.irssi.org-old/scripts/html/beepaway.pl


   1 #!/usr/bin/perl
   2 #
   3 # by Simon 'corecode' Schuberty <corecode@corecode.ath.cx>
   4 
   5 use strict;
   6 use vars qw($VERSION %IRSSI);
   7 $VERSION = "2003011501";
   8 %IRSSI = (
   9     authors     => "Simon 'corecode' Schubert",
  10     contact     => "corecode\@corecode.ath.cx",
  11     name        => "beepaway",
  12     description => "Only beep when you are away",
  13     license     => "BSD",
  14     changed     => "$VERSION",
  15 );
  16 use Irssi 20020324;
  17 
  18 sub catch_away {
  19 	my $level;
  20 	my $server;
  21 	($server) = @_;
  22 
  23 	if ($server->{usermode_away}) {
  24 		$level = Irssi::settings_get_str("beep_away_msg_level")
  25 	} else {
  26 		$level = Irssi::settings_get_str("beep_back_msg_level")
  27 	}
  28 #	Irssi::print "%R>>%n setting levels ``$level''";
  29 	$server->command("/^set beep_msg_level ".$level);
  30 }
  31 
  32 Irssi::settings_add_str($IRSSI{name}, "beep_away_msg_level", "MSGS NOTICES DCC DCCMSGS HILIGHT");
  33 Irssi::settings_add_str($IRSSI{name}, "beep_back_msg_level", "NONE");
  34 
  35 Irssi::signal_add("away mode changed", "catch_away");
  36 
  37 print CLIENTCRAP '%B>>%n '.$IRSSI{name}.' '.$VERSION.' (c) '.$IRSSI{authors}.' loaded';