]> ruin.nu Git - NDIRC.git/blobdiff - Misc.pm
Basic conversion to POE::Component::IRC
[NDIRC.git] / Misc.pm
diff --git a/Misc.pm b/Misc.pm
index bd159933d5203675d5071e4e5a444d1054c09a80..bada45151b3df42dc46c3c60f289a7937021727d 100644 (file)
--- a/Misc.pm
+++ b/Misc.pm
@@ -46,20 +46,28 @@ sub parseCommand {
        return if $channel !~ /^#/ && $msg =~ /^~/;
        $msg = ".$msg"  if $channel !~ /^#/ && $msg =~ /^[^.!]/;
 
-       my ($p,$command,$args) = ($msg =~ /^([.!~])(\S+)(?: (.+))?/) or return 0;
+       my ($p,$command,$args) = ($msg =~ /^([.!~])(\S+)(?: (.+))?/);
+
+       if ($msg =~ m{http://[\w.]+/.+?scan(_id|_grp)?=(\w+)}){
+               if (!$command || $command =~ m{^http://}){
+                       ($p,$command,$args) = ('.','addscan',$msg);
+               }elsif($command ne 'addscan'){
+                       parseCommand (".addscan $msg", $server, $nick, $address, $channel, $disp,$model)
+               }
+       }
 
        return 0 unless $disp->has_command($command,$channel);
 
        my $reply_string;
        given ($p){
                when ('!'){
-                       $reply_string = "msg $nick ";
+                       $reply_string = "privmsg $nick";
                }
                when ('~'){
-                       $reply_string = "msg $channel ";
+                       $reply_string = "privmsg $channel";
                }
                default {
-                       $reply_string = "notice $nick ";
+                       $reply_string = "notice $nick";
                }
        }