X-Git-Url: https://ruin.nu/git/?p=NDIRC.git;a=blobdiff_plain;f=Misc.pm;h=bada45151b3df42dc46c3c60f289a7937021727d;hp=74159ac9e3461b421abf763f745951455141758c;hb=e8c94cdebefdc428ea92fde6db63f18d3e8399b2;hpb=4f1948e0fe10075464732db5cc2168207c00c7aa diff --git a/Misc.pm b/Misc.pm index 74159ac..bada451 100644 --- a/Misc.pm +++ b/Misc.pm @@ -43,20 +43,31 @@ sub valuecolor { sub parseCommand { my ($msg, $server, $nick, $address, $channel, $disp,$model) = @_; - my ($p,$command,$args) = ($msg =~ /^([.!~])(\S+)(?: (.+))?/) or return 0; + return if $channel !~ /^#/ && $msg =~ /^~/; + $msg = ".$msg" if $channel !~ /^#/ && $msg =~ /^[^.!]/; + + 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"; } }