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+)}){
+ unless ($command){
+ ($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 = "msg $nick";
}
when ('~'){
- $reply_string = "msg $channel ";
+ $reply_string = "msg $channel";
}
default {
- $reply_string = "notice $nick ";
+ $reply_string = "notice $nick";
}
}