]> git.donarmstrong.com Git - infobot.git/blobdiff - blootbot/src/UserExtra.pl
more -> changes
[infobot.git] / blootbot / src / UserExtra.pl
index 7c48244c215e59ad99315cff2a5997dd59fbec88..ba80639d74a073b95a42a8e516f93814db764447 100644 (file)
@@ -17,6 +17,7 @@ use vars qw(%channels %chanstats %cmdstats %count %ircstats %param
 
 &addCmdHook("main", 'chan(stats|info)', ('CODEREF' => 'chaninfo', ) );
 &addCmdHook("main", 'cmd(stats|info)', ('CODEREF' => 'cmdstats', ) );
+&addCmdHook("main", 'sched(stats|info)', ('CODEREF' => 'scheduleList', ) );
 &addCmdHook("main", 'factinfo', ('CODEREF' => 'factinfo',
        'Cmdstats' => 'Factoid Info', Module => 'factoids', ) );
 &addCmdHook("main", 'factstats?', ('CODEREF' => 'factstats',
@@ -60,7 +61,7 @@ sub chaninfo {
        foreach (sort keys %channels) {
            if ( /^\s*$/ or / / ) {
                &status("chanstats: fe channels: chan == NULL.");
-               &ircCheck();
+               #&ircCheck();
                next;
            }
            next if (/^_default$/);
@@ -69,6 +70,7 @@ sub chaninfo {
            push(@array, $str);
        }
        &pSReply($reply.": ".join(', ', @array));
+       &ircCheck();
 
        ### total user count.
        foreach $chan (keys %channels) {
@@ -535,7 +537,7 @@ sub userCommands {
            }
        }
 
-       &performReply( sprintf("'%s' is ascii %s", $arg, ord $1) );
+       &performReply( sprintf("'%s' is ascii %s", $arg, ord $arg) );
        return;
     }
 
@@ -848,38 +850,36 @@ if (0) {
     }
 
     # wantNick. xk++
-    if ($message =~ /^wantNick(\+)?$/i) {
-       my ($force) = ($1) ? 1 : 0;
-       $force = 0 unless (&IsFlag("n"));
+    # FIXME does not try to get nick "back", just switches nicks
+    if ($message =~ /^wantNick\s(.*)?$/i) {
+       return unless (&hasFlag("o"));
+       my $wantnick = lc $1;
+       my $mynick = $conn->nick();
 
-       # cannot trust Net::IRC's nick() (TimRiker asks why?)
-       if ($param{'ircNick'} eq $ident) {
-           &msg($who, "I hope you're right. I'll try anyway.");
-           &DEBUG("ircNick => $param{'ircNick'}");
-           &DEBUG("ident => $ident");
+       if ($mynick eq $wantnick) {
+           &msg($who, "I hope you're right. I'll try anyway (mynick=$mynick, wantnick=$wantnick).");
        }
 
        # fallback check, I guess.  needed?
-       if (! &IsNickInAnyChan( $param{'ircNick'} ) ) {
-           my $str = "attempting to change nick to $param{'ircNick'}";
+       if (! &IsNickInAnyChan( $wantnick ) ) {
+           my $str = "attempting to change nick from $mynick to $wantnick";
            &status($str);
            &msg($who, $str);
-           &nick($param{ 'ircNick' });
+           &nick($wantnick);
            return;
        }
 
        # idea from dondelecarlo :)
        # TODO: use cache{nickserv}
        if ($param{'nickServ_pass'}) {
-           return if ($param{'ircNick'} eq $ident or $force == 0);
-
-           &status("someone is using our nick; GHOSTing");
-           &msg($who, "using GHOST on $param{'ircNick'}.");
-           &msg("NickServ", "GHOST $param{'ircNick'} $param{'nickServ_pass'}");
+           my $str = "someone is using nick $wantnick; GHOSTing";
+           &status($str);
+           &msg($who, $str);
+           &msg("NickServ", "GHOST $wantnick $param{'nickServ_pass'}");
 
            $conn->schedule(5, sub {
-               &status("going to change nick after GHOST.");
-               &nick( $param{'ircNick'} );
+               &status("going to change nick from $mynick to $wantnick after GHOST.");
+               &nick($wantnick);
            } );
 
            return;