matabot, branch HEAD a silly irc bot f94e98fd6f9486cc5452fee1347e21ec0c486ea4 2026-04-05T03:01:45Z 2026-04-05T03:01:45Z public domain it noodle noodle@pastanoggin.com commit f94e98fd6f9486cc5452fee1347e21ec0c486ea4 parent bb2ae5913b6b8c7eccc4c6311a0cdcaa5f2d9a78 Author: noodle <noodle@pastanoggin.com> Date: Sun, 5 Apr 2026 03:01:45 +0000 public domain it bb2ae5913b6b8c7eccc4c6311a0cdcaa5f2d9a78 2026-04-05T02:56:30Z 2026-04-05T02:56:30Z change script and project name to matabot.pl and matabot.git, respectively noodle noodle@pastanoggin.com commit bb2ae5913b6b8c7eccc4c6311a0cdcaa5f2d9a78 parent 5169add85db2bafc6dc680db0206d6b6a499dd95 Author: noodle <noodle@pastanoggin.com> Date: Sun, 5 Apr 2026 02:56:30 +0000 change script and project name to matabot.pl and matabot.git, respectively 5169add85db2bafc6dc680db0206d6b6a499dd95 2026-01-15T18:05:53Z 2026-01-15T18:05:53Z matabot.8: document the RSS feature and add more info noodle noodle@pastanoggin.com commit 5169add85db2bafc6dc680db0206d6b6a499dd95 parent 16d0d03f980f192b1d5fbb3efbce9ed1aaf2f1ed Author: noodle <noodle@pastanoggin.com> Date: Thu, 15 Jan 2026 18:05:53 +0000 matabot.8: document the RSS feature and add more info 16d0d03f980f192b1d5fbb3efbce9ed1aaf2f1ed 2026-01-15T18:05:11Z 2026-01-15T18:05:11Z add RSS feature pointing to analognowhere.com noodle noodle@pastanoggin.com commit 16d0d03f980f192b1d5fbb3efbce9ed1aaf2f1ed parent 3af4a1f76a207c8113cce7539b513a3af26dff8d Author: noodle <noodle@pastanoggin.com> Date: Thu, 15 Jan 2026 18:05:11 +0000 add RSS feature pointing to analognowhere.com 3af4a1f76a207c8113cce7539b513a3af26dff8d 2026-01-09T17:27:01Z 2026-01-09T17:27:01Z fix msgmax calculation and add an initial msgmax heuristic to fallback on noodle noodle@pastanoggin.com commit 3af4a1f76a207c8113cce7539b513a3af26dff8d parent 32d1199ddfacc2acda862cd1ad7032be610f2d37 Author: noodle <noodle@pastanoggin.com> Date: Fri, 9 Jan 2026 17:27:01 +0000 fix msgmax calculation and add an initial msgmax heuristic to fallback on fixed incorrect msgmax calculation in response to WHO reply code 352, which didn't account for the":nick!user@" part before hostname nor the space before $priv. additionally, an upcoming RSS feature would sometimes need to send news before reading any messages back from server (and WHO reply code 352 might never return or might not return on time), so a conservative fallback msgmax heurestic calculation was added before the evasdrop loop. it uses a maximum hostname length of 63 from RFC 2812 and accounts for the the non-ident tilde (~) that might get prepended to username until we know what the actual hostname and username are. 32d1199ddfacc2acda862cd1ad7032be610f2d37 2026-01-07T20:40:45Z 2026-01-07T20:40:45Z use a hash for init() variables and change || to // for better default value assignment noodle noodle@pastanoggin.com commit 32d1199ddfacc2acda862cd1ad7032be610f2d37 parent 857e8780e0133566f375c18fe274c410ee1d9967 Author: noodle <noodle@pastanoggin.com> Date: Wed, 7 Jan 2026 20:40:45 +0000 use a hash for init() variables and change || to // for better default value assignment 857e8780e0133566f375c18fe274c410ee1d9967 2026-01-07T19:22:31Z 2026-01-07T19:22:31Z refactor ping-pong and make ping check timer start after last message from server noodle noodle@pastanoggin.com commit 857e8780e0133566f375c18fe274c410ee1d9967 parent 182fcdb4dc02479e7748c872f6a8d5a0b0fd540b Author: noodle <noodle@pastanoggin.com> Date: Wed, 7 Jan 2026 19:22:31 +0000 refactor ping-pong and make ping check timer start after last message from server 182fcdb4dc02479e7748c872f6a8d5a0b0fd540b 2026-01-07T18:59:11Z 2026-01-07T18:59:11Z TODO: delete getopts because solved and JOIN because ambigious. adda an undef error noodle noodle@pastanoggin.com commit 182fcdb4dc02479e7748c872f6a8d5a0b0fd540b parent 402253c39d37b317d814246129d6db4a5f5d752a Author: noodle <noodle@pastanoggin.com> Date: Wed, 7 Jan 2026 18:59:11 +0000 TODO: delete getopts because solved and JOIN because ambigious. adda an undef error 402253c39d37b317d814246129d6db4a5f5d752a 2026-01-03T11:49:44Z 2026-01-03T11:49:44Z tighten empty socket response check and bump used perl to v5.42 noodle noodle@pastanoggin.com commit 402253c39d37b317d814246129d6db4a5f5d752a parent 5720da41f70fef5581ee1a9149046d73c6ec6e5f Author: noodle <noodle@pastanoggin.com> Date: Sat, 3 Jan 2026 11:49:44 +0000 tighten empty socket response check and bump used perl to v5.42 5720da41f70fef5581ee1a9149046d73c6ec6e5f 2026-01-03T11:20:32Z 2026-01-03T11:20:32Z change numerical uppercase variables to use "constant" and change $NVERSE hash to NBIBLE and NQURAN noodle noodle@pastanoggin.com commit 5720da41f70fef5581ee1a9149046d73c6ec6e5f parent dbcfa451afea4a8bf56933462988cf943d663490 Author: noodle <noodle@pastanoggin.com> Date: Sat, 3 Jan 2026 11:20:32 +0000 change numerical uppercase variables to use "constant" and change $NVERSE hash to NBIBLE and NQURAN dbcfa451afea4a8bf56933462988cf943d663490 2025-12-24T23:12:21Z 2025-12-24T23:12:21Z go back to buffered line io because unbuffered char io breaks on libera noodle noodle@pastanoggin.com commit dbcfa451afea4a8bf56933462988cf943d663490 parent ccf6cafd5702b1123984566174106667c39070a5 Author: noodle <noodle@pastanoggin.com> Date: Wed, 24 Dec 2025 23:12:21 +0000 go back to buffered line io because unbuffered char io breaks on libera ccf6cafd5702b1123984566174106667c39070a5 2025-12-24T20:26:05Z 2025-12-24T20:26:05Z fix missing \n in usage message and correct to nwe flag usage in EXAMPLES noodle noodle@pastanoggin.com commit ccf6cafd5702b1123984566174106667c39070a5 parent 333e51c3107833915c41cfcd0939b6ae6faffe2d Author: noodle <noodle@pastanoggin.com> Date: Wed, 24 Dec 2025 20:26:05 +0000 fix missing \n in usage message and correct to nwe flag usage in EXAMPLES 333e51c3107833915c41cfcd0939b6ae6faffe2d 2025-12-24T20:18:49Z 2025-12-24T20:18:49Z The Grand Refactor:tm: (Sorry!!) noodle noodle@pastanoggin.com commit 333e51c3107833915c41cfcd0939b6ae6faffe2d parent 7317d784aaa81fab85efb43c0ce240c22bb063bb Author: noodle <noodle@pastanoggin.com> Date: Wed, 24 Dec 2025 20:18:49 +0000 The Grand Refactor:tm: (Sorry!!) kill useless code, abbreviate, redo logging, tighten security, and make matabot a bit smarter. 7317d784aaa81fab85efb43c0ce240c22bb063bb 2025-11-07T12:25:17Z 2025-11-07T12:25:17Z use braces around 2 vars inside strings noodle noodle@pastanoggin.com commit 7317d784aaa81fab85efb43c0ce240c22bb063bb parent b66fc03f425758acb9e2becc7edafd7c7032ae4f Author: noodle <noodle@pastanoggin.com> Date: Fri, 7 Nov 2025 12:25:17 +0000 use braces around 2 vars inside strings b66fc03f425758acb9e2becc7edafd7c7032ae4f 2025-11-07T09:09:01Z 2025-11-07T09:33:31Z remove duplicate return due to empty chunk (thanks, c0co!) noodle noodle@pastanoggin.com commit b66fc03f425758acb9e2becc7edafd7c7032ae4f parent c5c28543561eda2d2c5cb8fdd17735338fcb7da3 Author: noodle <noodle@pastanoggin.com> Date: Fri, 7 Nov 2025 09:09:01 +0000 remove duplicate return due to empty chunk (thanks, c0co!) c5c28543561eda2d2c5cb8fdd17735338fcb7da3 2025-11-07T08:59:36Z 2025-11-07T09:06:54Z set a default empty string value for "reply" variables noodle noodle@pastanoggin.com commit c5c28543561eda2d2c5cb8fdd17735338fcb7da3 parent b8d800b81cd3af0db4ec48a50e26531b81066e23 Author: noodle <noodle@pastanoggin.com> Date: Fri, 7 Nov 2025 08:59:36 +0000 set a default empty string value for "reply" variables b8d800b81cd3af0db4ec48a50e26531b81066e23 2025-11-07T00:02:52Z 2025-11-07T00:02:52Z add allah command (quran and bible api's by prahou. thank you!) noodle noodle@pastanoggin.com commit b8d800b81cd3af0db4ec48a50e26531b81066e23 parent 4236ee7a4f84626a5ae6ecdc54eb58967ee5db44 Author: noodle <noodle@pastanoggin.com> Date: Fri, 7 Nov 2025 00:02:52 +0000 add allah command (quran and bible api's by prahou. thank you!) 4236ee7a4f84626a5ae6ecdc54eb58967ee5db44 2025-11-07T00:02:00Z 2025-11-07T00:02:00Z ball: fix typo noodle noodle@pastanoggin.com commit 4236ee7a4f84626a5ae6ecdc54eb58967ee5db44 parent 269fb2e4eae6c17f3ec67b54baa460bdbe6d2580 Author: noodle <noodle@pastanoggin.com> Date: Fri, 7 Nov 2025 00:02:00 +0000 ball: fix typo 269fb2e4eae6c17f3ec67b54baa460bdbe6d2580 2025-11-07T00:01:34Z 2025-11-07T00:01:34Z increase PONG_TIMEOUT to 300 and set reply to '' by default for sub evasdrop noodle noodle@pastanoggin.com commit 269fb2e4eae6c17f3ec67b54baa460bdbe6d2580 parent 8bd45e7d5623562961dfadff125f318921abb447 Author: noodle <noodle@pastanoggin.com> Date: Fri, 7 Nov 2025 00:01:34 +0000 increase PONG_TIMEOUT to 300 and set reply to '' by default for sub evasdrop 8bd45e7d5623562961dfadff125f318921abb447 2025-09-25T20:14:30Z 2025-09-25T20:14:30Z add a bible command and extra sanitization before sending anything out noodle noodle@pastanoggin.com commit 8bd45e7d5623562961dfadff125f318921abb447 parent f3609fac601b54d2d303f2588e6ec35858bbaa00 Author: noodle <noodle@pastanoggin.com> Date: Thu, 25 Sep 2025 20:14:30 +0000 add a bible command and extra sanitization before sending anything out f3609fac601b54d2d303f2588e6ec35858bbaa00 2025-09-25T17:13:20Z 2025-09-25T17:13:20Z fix edge case where yt vid id starting with a - always fails to get a title noodle noodle@pastanoggin.com commit f3609fac601b54d2d303f2588e6ec35858bbaa00 parent 2663f4a88905a632336b826779343e60765999d3 Author: noodle <noodle@pastanoggin.com> Date: Thu, 25 Sep 2025 17:13:20 +0000 fix edge case where yt vid id starting with a - always fails to get a title 2663f4a88905a632336b826779343e60765999d3 2025-09-24T15:27:34Z 2025-09-25T15:42:04Z change variable from "content" to "body" in GET responses to not shadow previos variables noodle noodle@pastanoggin.com commit 2663f4a88905a632336b826779343e60765999d3 parent f9efd6b48a0e79f731e3bf966c4857744d0cd42a Author: noodle <noodle@pastanoggin.com> Date: Wed, 24 Sep 2025 15:27:34 +0000 change variable from "content" to "body" in GET responses to not shadow previos variables f9efd6b48a0e79f731e3bf966c4857744d0cd42a 2025-07-25T04:01:42Z 2025-07-25T04:01:42Z matabot.8: fix usage example as channels shouldn't start with # noodle noodle@pastanoggin.com commit f9efd6b48a0e79f731e3bf966c4857744d0cd42a parent 3ff36cb661ddc3f32e16b82f917937b19d418d33 Author: noodle <noodle@pastanoggin.com> Date: Fri, 25 Jul 2025 07:01:42 +0300 matabot.8: fix usage example as channels shouldn't start with # 3ff36cb661ddc3f32e16b82f917937b19d418d33 2025-07-24T03:28:54Z 2025-07-24T03:28:54Z fix IO::Socket::SSL errors not working noodle noodle@pastanoggin.com commit 3ff36cb661ddc3f32e16b82f917937b19d418d33 parent 3c901ffa8c40127dd9552b6c7ee9bb66862ed603 Author: noodle <noodle@pastanoggin.com> Date: Thu, 24 Jul 2025 06:28:54 +0300 fix IO::Socket::SSL errors not working 3c901ffa8c40127dd9552b6c7ee9bb66862ed603 2025-06-27T18:38:40Z 2025-06-27T18:38:40Z TODO: add more tasks noodle noodle@pastanoggin.com commit 3c901ffa8c40127dd9552b6c7ee9bb66862ed603 parent 0cca054666fef7deeb28606157a057c70c6dda5b Author: noodle <noodle@pastanoggin.com> Date: Fri, 27 Jun 2025 21:38:40 +0300 TODO: add more tasks 0cca054666fef7deeb28606157a057c70c6dda5b 2025-06-26T14:15:08Z 2025-06-26T18:35:51Z TODO: add more items noodle noodle@pastanoggin.com commit 0cca054666fef7deeb28606157a057c70c6dda5b parent 699af575932db751f5e8b569ade0eba9899dbe19 Author: noodle <noodle@pastanoggin.com> Date: Thu, 26 Jun 2025 17:15:08 +0300 TODO: add more items 699af575932db751f5e8b569ade0eba9899dbe19 2025-06-26T12:28:45Z 2025-06-26T12:28:45Z refactor and change -l and -v description noodle noodle@pastanoggin.com commit 699af575932db751f5e8b569ade0eba9899dbe19 parent a90fe83e647b257c36e5a230a373f884ea57430b Author: noodle <noodle@pastanoggin.com> Date: Thu, 26 Jun 2025 15:28:45 +0300 refactor and change -l and -v description a90fe83e647b257c36e5a230a373f884ea57430b 2025-06-26T11:50:46Z 2025-06-26T11:50:46Z matabot.8: cleanup and add a noodle command noodle noodle@pastanoggin.com commit a90fe83e647b257c36e5a230a373f884ea57430b parent dc0cf8254d3a05b6940c03fa729729d5d7b7f184 Author: noodle <noodle@pastanoggin.com> Date: Thu, 26 Jun 2025 14:50:46 +0300 matabot.8: cleanup and add a noodle command dc0cf8254d3a05b6940c03fa729729d5d7b7f184 2025-06-26T11:39:43Z 2025-06-26T11:39:43Z fix regression with HUUUH line and improve regex intelligence noodle noodle@pastanoggin.com commit dc0cf8254d3a05b6940c03fa729729d5d7b7f184 parent 226a18d30068bb5656e736ec939efde93a145eb2 Author: noodle <noodle@pastanoggin.com> Date: Thu, 26 Jun 2025 14:39:43 +0300 fix regression with HUUUH line and improve regex intelligence 226a18d30068bb5656e736ec939efde93a145eb2 2025-06-26T11:12:29Z 2025-06-26T11:12:29Z make -l only log errors and add -v for verbose logging noodle noodle@pastanoggin.com commit 226a18d30068bb5656e736ec939efde93a145eb2 parent 3d896652c9fe14bb83f6731110257ea690d9b733 Author: noodle <noodle@pastanoggin.com> Date: Thu, 26 Jun 2025 14:12:29 +0300 make -l only log errors and add -v for verbose logging 3d896652c9fe14bb83f6731110257ea690d9b733 2025-06-25T02:58:24Z 2025-06-25T02:58:24Z Merge branch 'fix_noreconnect' noodle noodle@pastanoggin.com commit 3d896652c9fe14bb83f6731110257ea690d9b733 parent 86570063ad83611f48faed399981abc0281313cc Author: noodle <noodle@pastanoggin.com> Date: Wed, 25 Jun 2025 05:58:24 +0300 Merge branch 'fix_noreconnect' 86570063ad83611f48faed399981abc0281313cc 2025-06-21T16:13:58Z 2025-06-25T02:52:34Z make a todo file and add tasks noodle noodle@pastanoggin.com commit 86570063ad83611f48faed399981abc0281313cc parent bd94232e64b4cf9da6ada91db50b5dd554e20493 Author: noodle <noodle@pastanoggin.com> Date: Sat, 21 Jun 2025 19:13:58 +0300 make a todo file and add tasks 283be9bcdbad1a84d7467f6db1713f09aae8ef84 2025-06-25T02:46:49Z 2025-06-25T02:46:49Z implement reconnection noodle noodle@pastanoggin.com commit 283be9bcdbad1a84d7467f6db1713f09aae8ef84 parent f4d13731461ca8fb7e2f947c3b3ad725ae8ca8fd Author: noodle <noodle@pastanoggin.com> Date: Wed, 25 Jun 2025 05:46:49 +0300 implement reconnection bot now reconnects after a cooldown on socket creation error, falsy return value of recv, or server not responding with PONG after a set amount of time from a PING (sent after a set amount of time too). thanks #perl for showing me the recv() -> 0/undef trick :3 f4d13731461ca8fb7e2f947c3b3ad725ae8ca8fd 2025-06-22T18:08:54Z 2025-06-22T18:13:42Z remove i/o side effects from most subroutines noodle noodle@pastanoggin.com commit f4d13731461ca8fb7e2f947c3b3ad725ae8ca8fd parent bed1c8b3df1d2b12cf73a38fc42f12bfc165211b Author: noodle <noodle@pastanoggin.com> Date: Sun, 22 Jun 2025 21:08:54 +0300 remove i/o side effects from most subroutines subroutine msg was deleted too as it was used only once after the purification. now only logger, out, evasdrop and the toplevel main code is impure. i might try to optimize them further later. for now, we'll be implementing reconnection as i/o has been minimized bed1c8b3df1d2b12cf73a38fc42f12bfc165211b 2025-06-21T18:18:34Z 2025-06-21T18:25:36Z purify functional mutation of globals/parameters noodle noodle@pastanoggin.com commit bed1c8b3df1d2b12cf73a38fc42f12bfc165211b parent 05d86fdaa37573e395f40904af86c8516c40456d Author: noodle <noodle@pastanoggin.com> Date: Sat, 21 Jun 2025 21:18:34 +0300 purify functional mutation of globals/parameters 05d86fdaa37573e395f40904af86c8516c40456d 2025-06-18T20:13:44Z 2025-06-18T20:13:44Z Merge branch 'master' into fix_noreconnect noodle noodle@pastanoggin.com commit 05d86fdaa37573e395f40904af86c8516c40456d parent 2db6fade2e537f4ddb75b816dd3fb197ba8f4f8d Author: noodle <noodle@pastanoggin.com> Date: Wed, 18 Jun 2025 23:13:44 +0300 Merge branch 'master' into fix_noreconnect bd94232e64b4cf9da6ada91db50b5dd554e20493 2025-06-18T17:30:07Z 2025-06-18T17:30:07Z make matabot's nick rollable at the last character noodle noodle@pastanoggin.com commit bd94232e64b4cf9da6ada91db50b5dd554e20493 parent dd5b28e6c5ea21aac50ebd8a565e2f5202ff5960 Author: noodle <noodle@pastanoggin.com> Date: Wed, 18 Jun 2025 20:30:07 +0300 make matabot's nick rollable at the last character dd5b28e6c5ea21aac50ebd8a565e2f5202ff5960 2025-06-18T17:24:27Z 2025-06-18T17:24:27Z simplify http link regex noodle noodle@pastanoggin.com commit dd5b28e6c5ea21aac50ebd8a565e2f5202ff5960 parent 3f948ae7aa2915c2dcb6a69adf9c15ded9c31f86 Author: noodle <noodle@pastanoggin.com> Date: Wed, 18 Jun 2025 20:24:27 +0300 simplify http link regex 3f948ae7aa2915c2dcb6a69adf9c15ded9c31f86 2025-06-18T17:08:41Z 2025-06-18T17:08:41Z make matabot nick recognition more lenient noodle noodle@pastanoggin.com commit 3f948ae7aa2915c2dcb6a69adf9c15ded9c31f86 parent 598064f27b382118202c70ac3dde81856ae5f6b2 Author: noodle <noodle@pastanoggin.com> Date: Wed, 18 Jun 2025 20:08:41 +0300 make matabot nick recognition more lenient 598064f27b382118202c70ac3dde81856ae5f6b2 2025-06-18T16:30:06Z 2025-06-18T16:30:06Z matabot.8: add /i and /g regex modifiers noodle noodle@pastanoggin.com commit 598064f27b382118202c70ac3dde81856ae5f6b2 parent 96ff42658bb89d7c05e6e98ba27cc4686ac5bdc1 Author: noodle <noodle@pastanoggin.com> Date: Wed, 18 Jun 2025 19:30:06 +0300 matabot.8: add /i and /g regex modifiers 96ff42658bb89d7c05e6e98ba27cc4686ac5bdc1 2025-06-18T16:29:05Z 2025-06-18T16:29:05Z Merge branch 'regex_modifiers' noodle noodle@pastanoggin.com commit 96ff42658bb89d7c05e6e98ba27cc4686ac5bdc1 parent b73dcbe95ef4d2048dab4178e615b15aa06a8564 Author: noodle <noodle@pastanoggin.com> Date: Wed, 18 Jun 2025 19:29:05 +0300 Merge branch 'regex_modifiers' 50695633bea43723e3ed47e5610b0ea43ed77dd6 2025-06-18T16:28:06Z 2025-06-18T16:28:06Z add the /g and /i regex modifiers to the chat s/// command noodle noodle@pastanoggin.com commit 50695633bea43723e3ed47e5610b0ea43ed77dd6 parent e9ae263711555c8ad2f1dd9d39721ca918cd445e Author: noodle <noodle@pastanoggin.com> Date: Wed, 18 Jun 2025 19:28:06 +0300 add the /g and /i regex modifiers to the chat s/// command b73dcbe95ef4d2048dab4178e615b15aa06a8564 2025-06-17T14:16:05Z 2025-06-17T14:16:05Z matabot.8: revamp and add missing info noodle noodle@pastanoggin.com commit b73dcbe95ef4d2048dab4178e615b15aa06a8564 parent a199d22b47feb506d546b9ba5821830dc2b8c2f0 Author: noodle <noodle@pastanoggin.com> Date: Tue, 17 Jun 2025 17:16:05 +0300 matabot.8: revamp and add missing info a199d22b47feb506d546b9ba5821830dc2b8c2f0 2025-06-17T13:27:05Z 2025-06-17T13:27:05Z matabot.8: split lines that have more than one sentence noodle noodle@pastanoggin.com commit a199d22b47feb506d546b9ba5821830dc2b8c2f0 parent e9ae263711555c8ad2f1dd9d39721ca918cd445e Author: noodle <noodle@pastanoggin.com> Date: Tue, 17 Jun 2025 16:27:05 +0300 matabot.8: split lines that have more than one sentence mdoc takes care of inter-sentence spacing. thanks, humm! e9ae263711555c8ad2f1dd9d39721ca918cd445e 2025-06-15T16:37:43Z 2025-06-15T16:37:43Z ball changes bc prahou is silly noodle noodle@pastanoggin.com commit e9ae263711555c8ad2f1dd9d39721ca918cd445e parent f9903ae1d7421f5422b5ff6d2a04c5a622ac2fbb Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 19:37:43 +0300 ball changes bc prahou is silly f9903ae1d7421f5422b5ff6d2a04c5a622ac2fbb 2025-06-15T16:33:56Z 2025-06-15T16:33:56Z fix s/// not silincing on wrong regex noodle noodle@pastanoggin.com commit f9903ae1d7421f5422b5ff6d2a04c5a622ac2fbb parent 8c7ebe8f11d0d6d1803e7037024e41d52b8f0550 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 19:33:56 +0300 fix s/// not silincing on wrong regex also made it so no regexes go into the user's buffer. it helps with repeatedly iterating over a message with s/// even if the user got the regex wrong in the middle 2db6fade2e537f4ddb75b816dd3fb197ba8f4f8d 2025-06-15T14:32:17Z 2025-06-15T14:32:17Z move main loop to a function to implement reconnection noodle noodle@pastanoggin.com commit 2db6fade2e537f4ddb75b816dd3fb197ba8f4f8d parent 8c7ebe8f11d0d6d1803e7037024e41d52b8f0550 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 17:32:17 +0300 move main loop to a function to implement reconnection 8c7ebe8f11d0d6d1803e7037024e41d52b8f0550 2025-06-15T13:55:39Z 2025-06-15T13:55:39Z add `the' as an alt for `a' in "who's a good boy" noodle noodle@pastanoggin.com commit 8c7ebe8f11d0d6d1803e7037024e41d52b8f0550 parent 77a3e6a10769bafbec246f66294ef7ade2f414a1 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 16:55:39 +0300 add `the' as an alt for `a' in "who's a good boy" 77a3e6a10769bafbec246f66294ef7ade2f414a1 2025-06-15T13:39:13Z 2025-06-15T13:39:13Z add a .gitignore to ignore rc_script noodle noodle@pastanoggin.com commit 77a3e6a10769bafbec246f66294ef7ade2f414a1 parent c50e33f6ec8e6895fe98991fc6aa46fd99b8f8f8 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 16:39:13 +0300 add a .gitignore to ignore rc_script c50e33f6ec8e6895fe98991fc6aa46fd99b8f8f8 2025-06-15T13:34:39Z 2025-06-15T13:34:39Z remove the leading # from -j's argument noodle noodle@pastanoggin.com commit c50e33f6ec8e6895fe98991fc6aa46fd99b8f8f8 parent e5930bed6598d973ba680bc1229409d19819ed86 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 16:34:39 +0300 remove the leading # from -j's argument it confuses /etc/rc.conf.local. updated and cleaned up the man page too e5930bed6598d973ba680bc1229409d19819ed86 2025-06-15T13:12:40Z 2025-06-15T13:12:40Z fix missing -H flag in manpage noodle noodle@pastanoggin.com commit e5930bed6598d973ba680bc1229409d19819ed86 parent fed2dac4d23113e2b03b39ea10beba361fa62904 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 16:12:40 +0300 fix missing -H flag in manpage fed2dac4d23113e2b03b39ea10beba361fa62904 2025-06-15T12:54:08Z 2025-06-15T12:54:08Z fix more social regex edge-cases noodle noodle@pastanoggin.com commit fed2dac4d23113e2b03b39ea10beba361fa62904 parent 4f76af659eee110392a0c363d6976641cc8bf385 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 15:54:08 +0300 fix more social regex edge-cases 4f76af659eee110392a0c363d6976641cc8bf385 2025-06-15T08:27:13Z 2025-06-15T10:53:30Z make social regexes more lentient noodle noodle@pastanoggin.com commit 4f76af659eee110392a0c363d6976641cc8bf385 parent 5b9e5f4d64640088c2ee10d9110165aa7d5ceb28 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 11:27:13 +0300 make social regexes more lentient 5b9e5f4d64640088c2ee10d9110165aa7d5ceb28 2025-06-15T01:59:28Z 2025-06-15T02:04:50Z add a response for wb/welcome back noodle noodle@pastanoggin.com commit 5b9e5f4d64640088c2ee10d9110165aa7d5ceb28 parent 2181aa718261264da0f6ad021ac22cb023c25cf0 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 04:59:28 +0300 add a response for wb/welcome back 2181aa718261264da0f6ad021ac22cb023c25cf0 2025-06-14T23:24:43Z 2025-06-14T23:33:33Z make mata_bot smarter: noodle noodle@pastanoggin.com commit 2181aa718261264da0f6ad021ac22cb023c25cf0 parent a115fcfb9db5eabb3e049f7df02ae13dfd247713 Author: noodle <noodle@pastanoggin.com> Date: Sun, 15 Jun 2025 02:24:43 +0300 make mata_bot smarter: - added more language capabilites to the bot; like greetings, small talk, and other responses to questions it gets typcially asked so it can be more lively (added a new `hellos' file for choosing a random greeting) - added the *pray* command for prahou - made link fetch error messages less noisy - added case-insensitive flags to html regexes so we can accept non-lowercase html - links can now end anywhere before whitespace of end of line a115fcfb9db5eabb3e049f7df02ae13dfd247713 2025-06-14T18:05:20Z 2025-06-14T18:06:21Z add a man page! this boy has become a man! noodle noodle@pastanoggin.com commit a115fcfb9db5eabb3e049f7df02ae13dfd247713 parent 9a845840fcd8688495db20d2454274982b170e99 Author: noodle <noodle@pastanoggin.com> Date: Sat, 14 Jun 2025 21:05:20 +0300 add a man page! this boy has become a man! 9a845840fcd8688495db20d2454274982b170e99 2025-06-14T18:01:33Z 2025-06-14T18:01:33Z Merge branches 'change_mom' and 'fix_chat_regex_error' noodle noodle@pastanoggin.com commit 9a845840fcd8688495db20d2454274982b170e99 parent abd40d0d1f54a510a2dae21077f38ddb05d3a92c Author: noodle <noodle@pastanoggin.com> Date: Sat, 14 Jun 2025 21:01:33 +0300 Merge branches 'change_mom' and 'fix_chat_regex_error' abd40d0d1f54a510a2dae21077f38ddb05d3a92c 2025-06-14T17:51:41Z 2025-06-14T17:58:42Z give mata_bot devil powers: noodle noodle@pastanoggin.com commit abd40d0d1f54a510a2dae21077f38ddb05d3a92c parent ff52d78cdd15c4a3705b9e9bf42d0a469080c74a Author: noodle <noodle@pastanoggin.com> Date: Sat, 14 Jun 2025 20:51:41 +0300 give mata_bot devil powers: - absolute paths are now being used for the ball and quotes file - default options changed to make local testing easier - the makefile now installs to /usr/local: mata_bot.pl gets installed in sbin as matabot, ball and quote go into share - a PREFIX-aware rc script to run matabot as a daemon (configured during make) makefile and rc script inspired by catgirl and kitd (thx June!) 63862862150b3cc203b30b489e5b1dfc9aa27647 2025-06-14T17:36:04Z 2025-06-14T17:36:04Z fix bot crashing on regex errors when the regex was passed from chat noodle noodle@pastanoggin.com commit 63862862150b3cc203b30b489e5b1dfc9aa27647 parent ff52d78cdd15c4a3705b9e9bf42d0a469080c74a Author: noodle <noodle@pastanoggin.com> Date: Sat, 14 Jun 2025 20:36:04 +0300 fix bot crashing on regex errors when the regex was passed from chat we're ignoring the regex error lol (because it's from chat and they don't care about errors) 3ede964a14e475c38c71a8bc9bc78236dee8aaec 2025-06-14T17:30:59Z 2025-06-14T17:30:59Z mata_bot gets a new mom noodle noodle@pastanoggin.com commit 3ede964a14e475c38c71a8bc9bc78236dee8aaec parent ff52d78cdd15c4a3705b9e9bf42d0a469080c74a Author: noodle <noodle@pastanoggin.com> Date: Sat, 14 Jun 2025 20:30:59 +0300 mata_bot gets a new mom ff52d78cdd15c4a3705b9e9bf42d0a469080c74a 2025-06-14T16:56:22Z 2025-06-14T16:56:22Z change name in the license noodle noodle@pastanoggin.com commit ff52d78cdd15c4a3705b9e9bf42d0a469080c74a parent aea5ed0ac930ec730878292360f7354051a59b7c Author: noodle <noodle@pastanoggin.com> Date: Sat, 14 Jun 2025 19:56:22 +0300 change name in the license aea5ed0ac930ec730878292360f7354051a59b7c 2025-03-22T16:27:17Z 2025-03-22T16:27:17Z add a silly quote boredpasta boredpasta@tutanota.com commit aea5ed0ac930ec730878292360f7354051a59b7c parent e0a8c22b4982a03d853e8aed4563cc30cc30389e Author: boredpasta <boredpasta@tutanota.com> Date: Sat, 22 Mar 2025 18:27:17 +0200 add a silly quote e0a8c22b4982a03d853e8aed4563cc30cc30389e 2025-03-22T16:23:17Z 2025-03-22T16:23:17Z add a makefile for easier setup boredpasta boredpasta@tutanota.com commit e0a8c22b4982a03d853e8aed4563cc30cc30389e parent b4ece6465dd7dd6d2a913b20740825d6d79b2d8f Author: boredpasta <boredpasta@tutanota.com> Date: Sat, 22 Mar 2025 18:23:17 +0200 add a makefile for easier setup b4ece6465dd7dd6d2a913b20740825d6d79b2d8f 2025-03-22T15:14:16Z 2025-03-22T15:14:16Z restore 8ball's ambiguity (nevermind, i'm stupid) boredpasta boredpasta@tutanota.com commit b4ece6465dd7dd6d2a913b20740825d6d79b2d8f parent 706953f4eb9adcc7c3cef9784ead676e0226bd4f Author: boredpasta <boredpasta@tutanota.com> Date: Sat, 22 Mar 2025 17:14:16 +0200 restore 8ball's ambiguity (nevermind, i'm stupid) 706953f4eb9adcc7c3cef9784ead676e0226bd4f 2025-03-22T14:55:45Z 2025-03-22T14:55:45Z make 8ball into a know-it-all boredpasta boredpasta@tutanota.com commit 706953f4eb9adcc7c3cef9784ead676e0226bd4f parent 2a1492c1de32786cb1ed38ad5e194578d56bda44 Author: boredpasta <boredpasta@tutanota.com> Date: Sat, 22 Mar 2025 16:55:45 +0200 make 8ball into a know-it-all 2a1492c1de32786cb1ed38ad5e194578d56bda44 2025-03-20T23:22:54Z 2025-03-20T23:22:54Z only accept dice command when prefixed by nick and improve other nick cmds boredpasta boredpasta@tutanota.com commit 2a1492c1de32786cb1ed38ad5e194578d56bda44 parent 509cddf0ac6b76eacaefe3a31c7006a337443a20 Author: boredpasta <boredpasta@tutanota.com> Date: Fri, 21 Mar 2025 01:22:54 +0200 only accept dice command when prefixed by nick and improve other nick cmds 509cddf0ac6b76eacaefe3a31c7006a337443a20 2025-03-20T22:58:10Z 2025-03-20T22:58:10Z add 8ball boredpasta boredpasta@tutanota.com commit 509cddf0ac6b76eacaefe3a31c7006a337443a20 parent ba7e7f3f13cddd9880bb688e0ce081d2ecbb281c Author: boredpasta <boredpasta@tutanota.com> Date: Fri, 21 Mar 2025 00:58:10 +0200 add 8ball ba7e7f3f13cddd9880bb688e0ce081d2ecbb281c 2025-03-20T17:18:49Z 2025-03-20T17:18:49Z add dice lol boredpasta boredpasta@tutanota.com commit ba7e7f3f13cddd9880bb688e0ce081d2ecbb281c parent 511bd5fb6f999ef2f9fd3dd38c8342c099f3afe0 Author: boredpasta <boredpasta@tutanota.com> Date: Thu, 20 Mar 2025 19:18:49 +0200 add dice lol 511bd5fb6f999ef2f9fd3dd38c8342c099f3afe0 2025-03-20T16:44:40Z 2025-03-20T16:44:40Z refactor replies and make them smarter (now with analognowhere quotes!) boredpasta boredpasta@tutanota.com commit 511bd5fb6f999ef2f9fd3dd38c8342c099f3afe0 parent 9182b34d48f64b05205ec771911c24bcdf4c460a Author: boredpasta <boredpasta@tutanota.com> Date: Thu, 20 Mar 2025 18:44:40 +0200 refactor replies and make them smarter (now with analognowhere quotes!) 9182b34d48f64b05205ec771911c24bcdf4c460a 2025-03-18T10:19:25Z 2025-03-18T10:19:25Z reorder nick mentions to the bottom so they don't interfere with other commands boredpasta boredpasta@tutanota.com commit 9182b34d48f64b05205ec771911c24bcdf4c460a parent 23fce65c5b46033fb91bcba9a57a96403b03078c Author: boredpasta <boredpasta@tutanota.com> Date: Tue, 18 Mar 2025 12:19:25 +0200 reorder nick mentions to the bottom so they don't interfere with other commands 23fce65c5b46033fb91bcba9a57a96403b03078c 2025-03-18T10:07:32Z 2025-03-18T10:07:32Z make (:|,) optional for when someone is mentioning bot boredpasta boredpasta@tutanota.com commit 23fce65c5b46033fb91bcba9a57a96403b03078c parent e3f5717173e9ae8510606ccb208712894ff8c6c7 Author: boredpasta <boredpasta@tutanota.com> Date: Tue, 18 Mar 2025 12:07:32 +0200 make (:|,) optional for when someone is mentioning bot e3f5717173e9ae8510606ccb208712894ff8c6c7 2025-03-17T12:20:32Z 2025-03-17T12:20:32Z fix content-type detection failing when a text/html has extra items in response boredpasta boredpasta@tutanota.com commit e3f5717173e9ae8510606ccb208712894ff8c6c7 parent 60074d3c8558d25b17d21bd4d51a0117fea60c16 Author: boredpasta <boredpasta@tutanota.com> Date: Mon, 17 Mar 2025 14:20:32 +0200 fix content-type detection failing when a text/html has extra items in response 60074d3c8558d25b17d21bd4d51a0117fea60c16 2025-03-17T10:49:45Z 2025-03-17T10:49:45Z delete errors on failed s/// cause chat thinks it's stupid xD boredpasta boredpasta@tutanota.com commit 60074d3c8558d25b17d21bd4d51a0117fea60c16 parent 637be52e7d7e73817d5daae8213db28e08a1263d Author: boredpasta <boredpasta@tutanota.com> Date: Mon, 17 Mar 2025 12:49:45 +0200 delete errors on failed s/// cause chat thinks it's stupid xD 637be52e7d7e73817d5daae8213db28e08a1263d 2025-03-17T10:45:01Z 2025-03-17T10:45:01Z fix s/// subbing without the s part starting on it's own WORD boredpasta boredpasta@tutanota.com commit 637be52e7d7e73817d5daae8213db28e08a1263d parent 4f491dc8ed86f2039773c076fc52928121e18b97 Author: boredpasta <boredpasta@tutanota.com> Date: Mon, 17 Mar 2025 12:45:01 +0200 fix s/// subbing without the s part starting on it's own WORD 4f491dc8ed86f2039773c076fc52928121e18b97 2025-03-17T01:10:30Z 2025-03-17T01:10:30Z add _ to the yt vid id regex allowed chars cause video ids supposedly use em boredpasta boredpasta@tutanota.com commit 4f491dc8ed86f2039773c076fc52928121e18b97 parent cde208a02d810ec84081ab5d18f2c2cd732ad002 Author: boredpasta <boredpasta@tutanota.com> Date: Mon, 17 Mar 2025 03:10:30 +0200 add _ to the yt vid id regex allowed chars cause video ids supposedly use em cde208a02d810ec84081ab5d18f2c2cd732ad002 2025-03-16T22:28:42Z 2025-03-16T22:28:42Z add a toggle `-j join' for choosing the chan to join (local testing :) boredpasta boredpasta@tutanota.com commit cde208a02d810ec84081ab5d18f2c2cd732ad002 parent 4983457d819e8acfb0876ac8ef72b4aeefc19621 Author: boredpasta <boredpasta@tutanota.com> Date: Mon, 17 Mar 2025 00:28:42 +0200 add a toggle `-j join' for choosing the chan to join (local testing :) 4983457d819e8acfb0876ac8ef72b4aeefc19621 2025-03-16T21:46:08Z 2025-03-16T21:46:08Z add a license and readme cause i have dementia boredpasta boredpasta@tutanota.com commit 4983457d819e8acfb0876ac8ef72b4aeefc19621 parent b32821211cdca8623856169669b5d9aa062397ec Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 23:46:08 +0200 add a license and readme cause i have dementia b32821211cdca8623856169669b5d9aa062397ec 2025-03-16T21:45:48Z 2025-03-16T21:45:48Z sultana became a mom! boredpasta boredpasta@tutanota.com commit b32821211cdca8623856169669b5d9aa062397ec parent da3ba1c0f3134043355738d05c415f307dfead2a Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 23:45:48 +0200 sultana became a mom! da3ba1c0f3134043355738d05c415f307dfead2a 2025-03-16T21:35:50Z 2025-03-16T21:35:50Z add link previews for web pages and files boredpasta boredpasta@tutanota.com commit da3ba1c0f3134043355738d05c415f307dfead2a parent 48c1da5086f9f301aad4bd750b0d6e2eae51bd14 Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 23:35:50 +0200 add link previews for web pages and files 48c1da5086f9f301aad4bd750b0d6e2eae51bd14 2025-03-16T21:33:31Z 2025-03-16T21:33:31Z kill bad characters [\000\r\n] and trim title for yt title command boredpasta boredpasta@tutanota.com commit 48c1da5086f9f301aad4bd750b0d6e2eae51bd14 parent b017d04575d36612f1d04d5de25c54f3cd90e26d Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 23:33:31 +0200 kill bad characters [\000\r\n] and trim title for yt title command b017d04575d36612f1d04d5de25c54f3cd90e26d 2025-03-16T21:25:25Z 2025-03-16T21:33:07Z refactor to use more returns to reduce indentation in `sub respond' boredpasta boredpasta@tutanota.com 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' 4562f0eaec77f2a6ee960ade415b2053e808b449 2025-03-16T19:24:47Z 2025-03-16T19:24:47Z improve s/// msg when the text to replace don't exist in last msg boredpasta boredpasta@tutanota.com commit 4562f0eaec77f2a6ee960ade415b2053e808b449 parent 7d5bcbc1da8b91e3d8df850abea8378bfea816b9 Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 21:24:47 +0200 improve s/// msg when the text to replace don't exist in last msg 7d5bcbc1da8b91e3d8df850abea8378bfea816b9 2025-03-16T19:20:51Z 2025-03-16T19:20:51Z add youtube link title previews boredpasta boredpasta@tutanota.com commit 7d5bcbc1da8b91e3d8df850abea8378bfea816b9 parent 3bebabfb747e2a236bae7c7c246d06aaaf63cd94 Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 21:20:51 +0200 add youtube link title previews 3bebabfb747e2a236bae7c7c246d06aaaf63cd94 2025-03-16T16:36:08Z 2025-03-16T16:39:16Z add a s/// command boredpasta boredpasta@tutanota.com commit 3bebabfb747e2a236bae7c7c246d06aaaf63cd94 parent 46ca98d72e0fc81ffc29c72899ccad7957cb7589 Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 18:36:08 +0200 add a s/// command 46ca98d72e0fc81ffc29c72899ccad7957cb7589 2025-03-16T16:35:15Z 2025-03-16T16:39:11Z add support for commandline arguments to facilitate local testing boredpasta boredpasta@tutanota.com commit 46ca98d72e0fc81ffc29c72899ccad7957cb7589 parent 772f93146a99b5428143b2323fb7daae8c14a182 Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 18:35:15 +0200 add support for commandline arguments to facilitate local testing 772f93146a99b5428143b2323fb7daae8c14a182 2025-03-15T23:54:13Z 2025-03-15T23:54:13Z fix bot thinking it's being "commanded" on $NICK(:|,) with nothing afterwards boredpasta boredpasta@tutanota.com commit 772f93146a99b5428143b2323fb7daae8c14a182 parent 985f69561ab9b6eacef6a5c0348b777abaa24df6 Author: boredpasta <boredpasta@tutanota.com> Date: Sun, 16 Mar 2025 01:54:13 +0200 fix bot thinking it's being "commanded" on $NICK(:|,) with nothing afterwards 985f69561ab9b6eacef6a5c0348b777abaa24df6 2025-02-24T21:21:08Z 2025-02-24T21:21:08Z initiate skynet boredpasta boredpasta@tutanota.com commit 985f69561ab9b6eacef6a5c0348b777abaa24df6 Author: boredpasta <boredpasta@tutanota.com> Date: Mon, 24 Feb 2025 23:21:08 +0200 initiate skynet