You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.7 KiB
Perl

# Infobot user extension stubs
# Kevin A. Lenzo
# put your routines in here.
@howAreYa = ("just great", "peachy", "mas o menos",
"you know how it is", "eh, ok", "pretty good. how about you");
sub myRoutines {
# called after it decides if it's been addressed.
# you have access tothe global variables here,
# which is bad, but anyway.
# you can return 'NOREPLY' if you want to stop
# processing past this point but don't want
# an answer. if you don't return NOREPLY, it
# will let all the rest of the default processing
# go to it. think of it as 'catching' the event.
# $addressed is whether the infobot has been
# named or, if a private or standalone
# context, addressed is always 'true'
# $msgType can be 'public', 'private', maybe 'dcc_chat'
# $who is the sender of the message
# $message is the current state of the input, after
# the addressing stuff stripped off the name
# $origMessage is the text of the original message before
# any normalization or processing
# you have access to all the routines in urlIrc.pl too,
# of course.
# example:
if ($addressed) {
# only if the infobot is addressed
if ($message =~ /how (the hell )?are (ya|you)( doin\'?g?)?\?*$/) {
return $howAreYa[rand($#howAreYa)];
}
} else {
# we haven't been addressed, but we are still listening
}
# another example: rot13
if ($message =~ /^rot13\s+(.*)/i) {
# rot13 it
my $reply = $1;
$reply =~ y/A-Za-z/N-ZA-Mn-za-m/;
return $reply;
}
return undef; # do nothing and let the other routines have a go
# Extras.pl is called next; look there for more complex examples.
}
1;