commit fed2dac4d23113e2b03b39ea10beba361fa62904
parent 4f76af659eee110392a0c363d6976641cc8bf385
Author: noodle <noodle@pastanoggin.com>
Date: Sun, 15 Jun 2025 15:54:08 +0300
fix more social regex edge-cases
Diffstat:
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/mata_bot.pl b/mata_bot.pl
@@ -100,8 +100,8 @@ sub respond_command {
msg($sock, "Did i stutter? ${MATA_NORM}");
} elsif ($content =~ /\b{wb}f+(u?ck+)? *(yo)?u+\b{wb}/i) {
msg($sock, "$MATA_FLIPOFF");
- } elsif ($content =~ /i+ *l+(ove+)? *(you+|y+|u+)/i) {
- msg($sock, "<3");
+ } elsif ($content =~ /\b{wb}i+ *l+(ove+)? *(you+|y+|u+)\b{wb}/i) {
+ msg($sock, "<3 ${MATA_HAPPY}");
} elsif ($content =~ /(thanks+|thx+|thank +(yo)?u+)( *a+ *lot+)?/i) {
msg($sock, "You're welcome, ${sender_nick}! ${MATA_HAPPY}");
} elsif ($content =~ /who('| +i|)s+ +a+ +goo+d+ +(bo+[ity]+o*|gir(l+|lie+))/i) {
@@ -153,7 +153,7 @@ sub respond_mention {
my ($sock, $sender_nick, $message) = @_;
if ($sender_nick eq $MOTHER) {
msg($sock, "Yes, mother? ${MATA_HAPPY}");
- } elsif ($message =~ /^${NICK}\W*$/) {
+ } elsif ($message =~ /^\W*${NICK}\W*$/) {
msg($sock, "${MATA_NORM} ?");
} else {
msg($sock, "$quotes[int rand($quotes_num)] ${MATA_NORM}");
@@ -231,12 +231,11 @@ sub respond {
} else {
msg($sock, "No title found (GET ${url} ${MATA_DEAD}");
}
+ } elsif ($message =~ /^ *${NICK}[:, ] *([^\000\r\n ][^\000\r\n]*)$/
+ or $message =~ /^ *([^\000\r\n ][^\000\r\n]*)[, ] *${NICK}\W*$/) {
+ respond_command($sock, $sender_nick, $1);
} elsif ($message =~ /\b${NICK}\b/) {
- if ($message =~ /^ *${NICK}[:, ] *([^\000\r\n]+)$/ or $message =~ /^([^\000\r\n]+)[, ] *${NICK}\W*$/) {
- respond_command($sock, $sender_nick, $1);
- } else {
- respond_mention($sock, $sender_nick, $message);
- }
+ respond_mention($sock, $sender_nick, $message);
}
return 0;
}