1#!/usr/local/bin/perl 2# 3# by Simon 'corecode' Schuberty <corecode@corecode.ath.cx> 4 5use strict; 6use 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); 16use Irssi 20020324; 17 18sub 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 32Irssi::settings_add_str($IRSSI{name}, "beep_away_msg_level", "MSGS NOTICES DCC DCCMSGS HILIGHT"); 33Irssi::settings_add_str($IRSSI{name}, "beep_back_msg_level", "NONE"); 34 35Irssi::signal_add("away mode changed", "catch_away"); 36 37print CLIENTCRAP '%B>>%n '.$IRSSI{name}.' '.$VERSION.' (c) '.$IRSSI{authors}.' loaded'; 38