mata_bot

some cheeky bot for #unix_surrealism
git clone https://git.pastanoggin.com/mata_bot.git
Log | Files | Refs | README | LICENSE

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:
Mmata_bot.pl | 15+++++++--------
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; }