return;
}
+ # do.
+ if ($message =~ s/^do\s+(\S+)\s+(.*)//) {
+ return unless (&hasFlag("o"));
+ my ($chan,$msg) = (lc $1, $2);
+
+ &DEBUG("chan => '$1', msg => '$msg'.");
+
+ # TODO: add nick destination.
+ if (&validChan($chan)) {
+ &action($chan, $msg);
+ } else {
+ &msg($who,"i'm not on \002$chan\002, sorry.");
+ }
+
+ return;
+ }
+
# die.
if ($message =~ /^die$/) {
return unless (&hasFlag("n"));
return;
}
- my $u = &getUser($who);
- my $crypt = &mkcrypt($args[0]);
+ my $u = &getUser($who);
+ my $crypt = &mkcrypt($args[0]);
&pSReply("Set your passwd to '$crypt'");
$users{$u}{PASS} = $crypt;
return;
}
- if (scalar @args == 1) { # del pass.
+ if (scalar @args == 1) {
+ # del pass.
if (!&IsFlag("n") and $who !~ /^\Q$verifyUser\E$/i) {
&pSReply("cannot remove passwd of others.");
return;
my $chflag;
my $user;
- if ($args[0] =~ /^$mask{nick}$/i) { # <nick>
+ if ($args[0] =~ /^$mask{nick}$/i) {
+ # <nick>
$user = &getUser($args[0]);
$chflag = $args[1];
- } else { # <flags>
+ } else {
+ # <flags>
$user = &getUser($who);
&DEBUG("user $who... nope.") unless (defined $user);
$user = &getUser($verifyUser);
}
if (!defined $mask) {
- ### FIXME:
- &pSReply("Hostmasks for $user: $users{$user}{HOSTS}");
-
+ &pSReply("Hostmasks for $user: " . join(" ", keys %{$users{$user}{HOSTS}}));
return;
}
return;
}
- if ($mask !~ /^$mask{nuh}$/) {
- &pSReply("error: mask ($mask) is not a real hostmask.");
- return;
- }
-
my $count = scalar keys %{ $users{$user}{HOSTS} };
if ($state) { # add.
+ if ($mask !~ /^$mask{nuh}$/) {
+ &pSReply("error: mask ($mask) is not a real hostmask.");
+ return;
+ }
+
if (exists $users{$user}{HOSTS}{$mask}) {
&pSReply("mask $mask already exists.");
return;
&writeUserFile();
&writeChanFile();
+ &pSReply("saved user and chan files");
return;
}
if ($str eq "+") {
if (scalar @args != 2) {
- &pSReply(".+host requires hostmask argument.");
+ &pSReply("+user requires hostmask argument.");
return;
}
} elsif (scalar @args != 1) {
return;
}
- if ($state) { # adduser.
+ if ($state) {
+ # adduser.
if (scalar @args == 1) {
$args[1] = &getHostMask($args[0]);
&pSReply("Attemping to guess $args[0]'s hostmask...");
# crude hack... crappy Net::IRC
$conn->schedule(5, sub {
- # hopefully this is right.
- my $nick = (keys %{ $cache{nuhInfo} })[0];
- if (!defined $nick) {
- &pSReply("couldn't get nuhinfo... adding user without a hostmask.");
- &userAdd($nick);
- return;
- }
-
- my $mask = &makeHostMask( $cache{nuhInfo}{$nick}{NUH} );
+ # hopefully this is right.
+ my $nick = (keys %{ $cache{nuhInfo} })[0];
+ if (!defined $nick) {
+ &pSReply("couldn't get nuhinfo... adding user without a hostmask.");
+ &userAdd($nick);
+ return;
+ }
+ my $mask = &makeHostMask( $cache{nuhInfo}{$nick}{NUH} );
- if ( &userAdd($nick, $mask) ) { # success.
- &pSReply("Added $nick with flags $users{$nick}{FLAGS}");
- my @hosts = keys %{ $users{$nick}{HOSTS} };
- &pSReply("hosts: @hosts");
- }
-});
+ if ( &userAdd($nick, $mask) ) {
+ # success.
+ &pSReply("Added $nick with flags $users{$nick}{FLAGS}");
+ my @hosts = keys %{ $users{$nick}{HOSTS} };
+ &pSReply("hosts: @hosts");
+ }
+ });
return;
}