Only trap URLs if they aren't part of a command, and only trap URLs 30 characters...
authorpdbogen <pdbogen@088b83a4-0077-4247-935c-42ec02c2848b>
Wed, 12 Sep 2007 21:57:51 +0000 (21:57 +0000)
committerpdbogen <pdbogen@088b83a4-0077-4247-935c-42ec02c2848b>
Wed, 12 Sep 2007 21:57:51 +0000 (21:57 +0000)
git-svn-id: https://www.cernu.us/~pdbogen/svn/destult2@29 088b83a4-0077-4247-935c-42ec02c2848b

irc.pl

diff --git a/irc.pl b/irc.pl
index a175adf..7ec6020 100644 (file)
--- a/irc.pl
+++ b/irc.pl
@@ -175,15 +175,14 @@ sub on_public {
        # Strip color
        $msg =~ s/(\x3)[0-9]{0,2}//g;
        $msg =~ s/\x02//g;
-       if( $msg =~ m!(http://[^[:space:]]+)!i && $self->{ "trap" } == 1 ) {
-               print( "IRC : URL Trapped: '$1' from $who\n" );
-               my $url = $1;
-               $kernel->post( "core", "cmd", $who, "TINYURL $url", $self->{ "ssid" }, $dest->[0], "send_public_to" );
-       }
        $cmd = ( split( / /, $msg, 2 ) )[0];
        $kernel->post( "core", "seen", $who, $msg, $self->{ "ssid" }, $who, "send_private" );
        if( $cmd =~ /^[~].*/ ) {
                $kernel->post( "core", "cmd", $who, $msg, $self->{ "ssid" }, $dest->[0], "send_public_to" );
+       } elsif( $msg =~ m!(http://[^[:space:]]+)!i && $self->{ "trap" } == 1 && length($1) >= 30 ) {
+               print( "IRC : URL Trapped: '$1' from $who\n" );
+               my $url = $1;
+               $kernel->post( "core", "cmd", $who, "TINYURL $url", $self->{ "ssid" }, $dest->[0], "send_public_to" );
        }
 }