[ILUG] Resistence is futile
kevin lyda
kevin at suberic.net
Tue Mar 5 13:21:01 GMT 2002
On Tue, Mar 05, 2002 at 12:32:39PM +0000, Niall O Broin wrote:
> On Wed, Mar 06, 2002 at 12:38:50AM +1300, Vincent Cunniffe wrote:
> > Nope, IRC requires no client-side support, and X-Chat is very easy to
> > configure for things
> > like auto-connecting to favourite servers, etc.
> Yes, X-Chat works fine, and is a very important tool to me for work (would
> be even more important if we didn't live in the e-arsehole of Europe) BUT I
> don't like its sound configuration - it seems difficult to get reasonable
> noises like I can get on my Mac client for example.
i've been slowly tweaking this script for xchat. i took autoresponder.pl
as a template and then ripped it's guts out. Alert.pl is what i call
it (actually i call it ~/.xchat/autorun.pl since i dunno how else to
force xchat to load it automatically). it will pop up a dialog window
(which i can dismiss by pressing return) if someone sends me a private
message or if my nick shows up in a message in a channel i'm on.
(conor, this is different then what i sent you, use this one).
kevin
--------8<-----snip------->8--------
#!/usr/bin/perl -w
use strict;
#######################################
# #
# CONFIG start #
# #
#######################################
# how to alert you - a %s element will be replaced with "theirNick: message"
my $alerter = ("xmessage -nearmouse -bg steelblue -fg wheat".
" -default okay -timeout 600 %s");
### main
IRC::register("kevin's alert script", "0.1", "", "");
IRC::print("\0035++Loading kevin's alert script v0.1::\003 \n");
IRC::print("\0033++USE: /alert [on|off|toggle]\003\n");
IRC::print("\0033++turns alert on, off or toggles it\003\n");
IRC::print("\0033++USE: /alert_help\n");
IRC::print("\0033++print this commands\n");
IRC::print("\0034++alert is turned ON\003 \n");
### initialise handlers
IRC::add_message_handler("PRIVMSG", "alert_privmsg_hand_0_1");
IRC::add_command_handler("alert", "alert_cmd_alert_0_1");
IRC::add_command_handler("alert_help", "alert_cmd_help_0_1");
### globals
my $alert = 1;
### functions
sub
alert_privmsg_hand_0_1
{
my $msg = shift(@_);
my $me = IRC::get_info(1);
if ($alert == 1) {
#parse act. msg
$msg =~ m/\:(.*?)\!(.*?)\sPRIVMSG\s(.*?)\s\:(.*)?/;
my $msgNick = $1;
my $msgFrom = $2;
my $msgTo = $3;
my $msgText = $4;
if (($me eq $msgTo) or ($msgText =~ m/$me/i)) {
my $tmp_text = "$msgNick: $msgText";
$tmp_text =~ s/([^-\@\w: .'])/\\$1/g;
$tmp_text =~ s/'/'"\\'"'/g;
my $tmp_alerter = $alerter;
$tmp_alerter =~ s/\%s/$tmp_text/g;
system("sh -c '$tmp_alerter' &")
}
}
return 0;
}
sub
alert_cmd_alert_0_1
{
my $arg = shift;
if (lc($arg) eq "on" ) {
IRC::print("\0034++alert is turned ON\003 \n");
$alert=1;
} elsif(lc($arg) eq "off") {
IRC::print("\0034++alert is turned OFF\003 \n");
$alert=0;
} elsif(lc($arg) eq "toggle") {
&alert_cmd_alert_0_1($alert? "off": "on");
} else {
IRC::print("USE: /alert [on|off|toggle]\n");
IRC::print("to turn alert on, off or toggles it\n");
}
return 1;
}
sub
alert_cmd_help_0_1
{
IRC::print("\0035++kevin's alert script v0.1::\003 \n");
IRC::print("\0033++USE: /alert [on|off|toggle]\003\n");
IRC::print("\0033++turns alert on, off or toggles it\003\n");
return 1;
}
--
kevin at suberic.net buffy: come on, can't you put your foot down?!
fork()'ed on 37058400 giles: it *is* down.
meatspace place: orbit buffy: one of these days you're going to have to
http://suberic.net/~kevin get a grown up car. --inca mummy girl
More information about the ILUG
mailing list