/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';