aboutsummaryrefslogtreecommitdiff
path: root/Plugin/Greet.pm
blob: d291682b9d1ea63ad650037432308eba0518feaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package Plugin::Greet;

# FIXME add configurable messages
# FIXME add configurable chance of replying
# FIXME factor out `some` with other plugins

use strict;
use warnings;

my $root_config;

sub configure {
	my $self = shift;
	shift; # cmdref
	shift; # run_command
	shift; # module config
	$root_config = shift;

	return $self;
}

sub some {
	my @choices = @_;
	return $choices[rand(@choices)];
}

my @own_responses = (
	"It's me! I was the turkey all along!",
	"Meeeeeee!",
	"Hello, fellow humans",
	"Hello",
	"Hi",
	"Morning all",
	"Greetings, fellow earthlings",
	"I'm back, baby!",
	"I only came back to grab my keys",
	"Has anyone seen my keys?",
	"Anyone wanna listen to my podcast?"
);

sub on_join {
	my ($self, $logger, $me, $who, $where, $raw_what, $what, $irc) = @_;
	my $nick = (split /!/, $who)[0];
	if ($nick eq $root_config->{current_nick}) {
		return some @own_responses;
	} else {
		return some(
			"hi $nick",
			"oh look, $nick is here",
			"look who came crawling back",
			"look at what the cat dragged in",
			"$nick!!!!! guys!!!!!! $nick is here !!!!!!!!",
			"weclome $nick",
			"Welcome to $where->[0], $nick. Leave your sanity at the door",
			"I feel sick");
	}
}
1;