mata_bot

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

commit b017d04575d36612f1d04d5de25c54f3cd90e26d
parent 4562f0eaec77f2a6ee960ade415b2053e808b449
Author: boredpasta <boredpasta@tutanota.com>
Date:   Sun, 16 Mar 2025 23:25:25 +0200

refactor to use more returns to reduce indentation in `sub respond'

Diffstat:
Mmata_bot.pl | 28+++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/mata_bot.pl b/mata_bot.pl @@ -64,27 +64,27 @@ sub respond { } else { msg($sock, "${sender_nick} meant to say something but idk lol <[>~<]> (``$toreplace'' doesn't exist in their last message)"); } - return; + return 1; } elsif ($message =~ m,watch\?v=([a-zA-Z0-9-]+),) { # post youtube video titles from video ID my $video_id = $1; my $response = HTTP::Tiny->new->get("https://fuyt.lab8.cz/?s=${video_id}&o=relevance"); - if (not $response->{success}) { + unless ($response->{success}) { msg($sock, "failed to get title of video $video_id <[x~x]> ($response->{status} $response->{reason}!)"); - return; - } elsif (not length $response->{content}) { + return 0; + } + unless (length $response->{content}) { msg($sock, "failed to get title of youtube video $video_id <[x~x]> (HTTP response empty!)"); - return; + return 0; + } + my $content = $response->{content}; + if ($content =~ m,<span class="title"><a href="https://www\.youtube\.com/watch\?v=$video_id" accesskey="0">([^<]+)</a>,) { + msg($sock, "YouTube: $title"); } else { - my $content = $response->{content}; - if ($content =~ m,<span class="title"><a href="https://www\.youtube\.com/watch\?v=$video_id" accesskey="0">([^<]+)</a>,) { - msg($sock, "YouTube: $1"); - } else { - msg($sock, "failed to get title of video $video_id <[x~x]> (no videos matching ID $video_id!)"); - } + msg($sock, "failed to get title of video $video_id <[x~x]> (no videos matching ID $video_id!)"); } } - $subbuffer{$sender_nick} = $message; + return 0; } # process args @@ -160,6 +160,8 @@ while (1) { # if we got a message to our chan. read and act accordingly my $sender_nick = $1; my $sender_message = $2; - respond($sock, $sender_nick, $sender_message); + unless (respond($sock, $sender_nick, $sender_message)) { + $subbuffer{$sender_nick} = $sender_message; + } } }