]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Modules/UserDCC.pl
- don't list _default in chanstats
[infobot.git] / src / Modules / UserDCC.pl
index bd06b8aa25fc84e834615fbe755250e916504b7f..f8ac484c71aa17d53cfed8c863ad205bfa43ba9f 100644 (file)
@@ -135,14 +135,17 @@ sub userDCC {
     }
 
     # kick.
-    if ($message =~ /^kick(\s+(\S+)(\s+(\S+))?)?/) {
+    if ($message =~ /^kick(\s+(.*?))$/) {
        return unless (&hasFlag("o"));
-       my ($nick,$chan) = (lc $2,lc $4);
 
-       if ($nick eq "") {
+       my $arg = $2;
+
+       if ($arg eq "") {
            &help("kick");
            return;
        }
+       my @args = split(/\s+/, $arg);
+       my ($nick,$chan,$reason) = @args;
 
        if (&validChan($chan) == 0) {
            &msg($who,"error: invalid channel \002$chan\002");
@@ -154,12 +157,12 @@ sub userDCC {
            return;
        }
 
-       &kick($nick,$chan);
+       &kick($nick,$chan,$reason);
 
        return;
     }
 
-    # kick.
+    # mode.
     if ($message =~ /^mode(\s+(.*))?$/) {
        return unless (&hasFlag("n"));
        my ($chan,$mode) = split /\s+/,$2,2;
@@ -613,7 +616,6 @@ sub userDCC {
        if ($args =~ s/^(\-)?($mask{chan})\s*//) {
            $chan       = $2;
            $delete     = ($1) ? 1 : 0;
-           &DEBUG("chan => $chan.");
        } else {
            &VERB("no chan arg; setting to default.",2);
            $chan       = "_default";
@@ -1150,7 +1152,6 @@ sub userDCC {
 
        &writeUserFile();
        &writeChanFile();
-       &News::writeNews() if (&ChanConfList("news"));
 
        return;
     }
@@ -1369,8 +1370,7 @@ sub userDCC {
     }
 
     # quite a cool hack: reply in DCC CHAT.
-    # FIXME broken for +A
-    #$msgType = "chat";
+    $msgType = "chat" if (exists $dcc{'CHAT'}{$who});
 
     my $done = 0;
     $done++ if &parseCmdHook("main", $message);