]> git.donarmstrong.com Git - infobot.git/blobdiff - src/Process.pl
join channel with key
[infobot.git] / src / Process.pl
index c1b277ec6edd51ca5d33b2eb6db07f7172dc76d5..b2f5d61d25ab4a1dcf538b6a838f6bcc15a951f2 100644 (file)
@@ -65,36 +65,34 @@ sub process {
     if ($message =~ /^join(\s+(.*))?\s*$/i) {
        return 'join: not addr' unless ($addressed);
 
-       $2 =~ /^($mask{chan})(,(\S+))?/;
-       my($thischan, $key) = (lc $1, $3);
-       my $chankey     = lc $thischan;
-       $chankey        .= " $key"      if (defined $key);
+       $2 =~ /^($mask{chan})(\s+(\S+))?/;
+       my($joinchan, $key) = (lc $1, $3);
 
-       if ($thischan eq "") {
+       if ($joinchan eq "") {
            &help("join");
            return;
        }
 
-       if ($thischan !~ /^$mask{chan}$/) {
-           &msg($who, "$thischan is not a valid channel name.");
+       if ($joinchan !~ /^$mask{chan}$/) {
+           &msg($who, "$joinchan is not a valid channel name.");
            return;
        }
 
        if (&IsFlag("o") ne "o") {
-           if (!exists $chanconf{$thischan}) {
-               &msg($who, "I am not allowed to join $thischan.");
+           if (!exists $chanconf{$joinchan}) {
+               &msg($who, "I am not allowed to join $joinchan.");
                return;
            }
 
-           if (&validChan($thischan)) {
-               &msg($who,"warn: I'm already on $thischan, joining anyway...");
+           if (&validChan($joinchan)) {
+               &msg($who,"warn: I'm already on $joinchan, joining anyway...");
            }
        }
-       $cache{join}{$thischan} = $who; # used for on_join self.
+       $cache{join}{$joinchan} = $who; # used for on_join self.
 
-       &joinchan($chankey);
-       &status("JOIN $chankey <$who>");
-       &msg($who, "joining $chankey");
+       &status("JOIN $joinchan $key <$who>");
+       &msg($who, "joining $joinchan $key");
+       &joinchan($joinchan, $key);
        &joinNextChan();        # hack.
 
        return;