aboutsummaryrefslogtreecommitdiff
path: root/saxrobot
diff options
context:
space:
mode:
authorDavid Phillips <david@sighup.nz>2017-03-17 15:13:47 +1300
committerDavid Phillips <david@sighup.nz>2017-03-17 15:13:47 +1300
commitbc0601bd2c28395f68613fd9966ea318ff93016c (patch)
tree3cf2b100aedff62df6a0471df5c086018809a2d9 /saxrobot
parent39757ff46ec4ea773f7d41df62e3b98e3a4e73df (diff)
downloadidalius-bc0601bd2c28395f68613fd9966ea318ff93016c.tar.xz
Improve configuration syntax
Diffstat (limited to 'saxrobot')
-rwxr-xr-xsaxrobot17
1 files changed, 11 insertions, 6 deletions
diff --git a/saxrobot b/saxrobot
index 599d4e8..5f2dc79 100755
--- a/saxrobot
+++ b/saxrobot
@@ -83,15 +83,20 @@ sub irc_public {
my $me = $irc->nick_name;
- # FIXME tidy this loop: do we need $idx?
- my $idx = 0;
- for (@{$config{re}}) {
- my $repcount = () = $what =~ /@{$config{re}}[$idx]/gi;
+ my $collected_response = "";
+ for (@{$config{triggers}}) {
+ my ($match, $response) = split /=>/;
+ # strip quotes
+ $match =~ s/^[^']*'|'[^']*$//g;
+ $response =~ s/^[^']*'|'[^']*$//g;
+
+ # do the count
+ my $repcount = () = $what =~ /$match/gi;
if ($repcount > 0) {
- $irc->yield(privmsg => $channel => @{$config{rep}}[$idx] x $repcount);
+ $collected_response .= $response x $repcount;
}
- $idx++;
}
+ $irc->yield(privmsg => $channel => $collected_response) if $collected_response;
return;
}