]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Factoids/Statement.pl
* New maxVolunteerLength to govern max size of non addressed replies
[infobot.git] / src / Factoids / Statement.pl
index 2c5a8e219451af9fa2fcf8f037c608c8c502b0b3..48b10cb70944afcd70ce7c6bc0b2e95c8afec48a 100644 (file)
@@ -58,6 +58,24 @@ sub doStatement {
     if ( $in =~ /(^|\s)(is|are)(\s|$)/i ) {
         my ( $lhs, $mhs, $rhs ) = ( $`, $&, $' );
 
+        # Quit if they are over the limits. Check done here since Core.pl calls
+        # this mid sub and Question.pl needs its own check as well. NOTE: $in is
+        # used in this place since lhs and rhs are really undefined for unwanted
+        # teaching. Mainly, the "is" could be anywhere within a 510 byte or so
+        # block of text, so the total size was choosen since the sole purpose of
+        # this logic is to not hammer the db with pointless factoids that were
+        # only meant to be general conversation.
+        return ''
+          if (
+            length $in <
+            &::getChanConfDefault( 'minVolunteerLength', 2, $chan ) or
+            $param{'addressing'} =~ m/require/i ) and not $addressed;
+        return ''
+          if (
+            length $in >
+            &::getChanConfDefault( 'maxVolunteerLength', 512, $chan ) or
+            $param{'addressing'} =~ m/require/i ) and not $addressed;
+
         # allows factoid arguments to be updated. -lear.
         $lhs =~ s/^(cmd: )?(.*)/$1||'' . lc $2/e;