|
I put on my robe and wizard hat...
|
package Alfred_Botsnack;
use strict;
use warnings;
# Globals
my $name = __PACKAGE__;
my %functions;
my %variables;
# Public methods
sub new {
%functions = %{$_[0]};
%variables = %{$_[1]};
my $self = {};
bless($self);
return $self;
}
sub destroy {
&{$functions{'log'}}('debug', 'destroying ' . $name);
undef %functions;
undef %variables;
return 1;
}
sub irc_public {
my ($kernel, $heap, $nick, $chan, $msg) = @_;
my ($nickname, $username, $hostname) = ($nick =~ /^([^!]+)![~]?([^@]+)@(.*)$/);
my $mynick = $variables{'global'}{'nick'};
if ($msg =~ /^\s*(?:$mynick[:;,]?\s*)botsnack/i) {
&{$functions{'log'}}('info', $name . ': ' . $nickname . ' gave me a snack');
my @responses = (
'beams',
'gives ' . $nickname . ' a kiss',
'smiles',
'does a happy dance',
'shakes it around the room!'
);
$heap->{irc}->yield('ctcp', $chan, 'ACTION', $responses[(int(rand(@responses))-1)]);
}
}
1;
|
|
|