aboutsummaryrefslogtreecommitdiff
path: root/plugin/tittilate.pm
diff options
context:
space:
mode:
authorDavid Phillips <david@sighup.nz>2017-05-21 20:06:53 +1200
committerDavid Phillips <david@sighup.nz>2017-05-21 20:06:53 +1200
commit4b34881adc9c508c59b4461f89708e300d04a34e (patch)
treefe82ef83f36423978cfb94ec3c035eb4badc2eff /plugin/tittilate.pm
parent105d7a3d91cc51db0096e81091979c4e760a46f1 (diff)
downloadidalius-4b34881adc9c508c59b4461f89708e300d04a34e.tar.xz
Separate functionalities into modules
Diffstat (limited to 'plugin/tittilate.pm')
-rw-r--r--plugin/tittilate.pm36
1 files changed, 36 insertions, 0 deletions
diff --git a/plugin/tittilate.pm b/plugin/tittilate.pm
new file mode 100644
index 0000000..a1ea7f3
--- /dev/null
+++ b/plugin/tittilate.pm
@@ -0,0 +1,36 @@
+#!/usr/bin/env perl
+
+package plugin::tittilate;
+
+use strict;
+use warnings;
+
+my %config;
+
+sub configure {
+ my $self = $_[0];
+ my $cref = $_[1];
+ %config = %$cref;
+ return $self;
+}
+
+sub message {
+ my ($self, $me, $who, $where, $what) = @_;
+ my $gathered = "";
+ my @expressions = (keys %{$config{triggers}});
+ my $expression = join '|', @expressions;
+ while ($what =~ /($expression)/gi) {
+ my $matched = $1;
+ my $key;
+ # figure out which key matched
+ foreach (@expressions) {
+ if ($matched =~ /$_/i) {
+ $key = $_;
+ last;
+ }
+ }
+ $gathered .= $config{triggers}->{$key};
+ }
+ return $gathered;
+}
+1;