]> git.donarmstrong.com Git - infobot.git/blobdiff - src/IRC/Irc.pl
join debugging
[infobot.git] / src / IRC / Irc.pl
index ced6f28e5ab81b4c5de1c4b1a12f2fd4f9b4cb50..51b35a9ff17a6c0774d1542ca9af579a373ff082 100644 (file)
@@ -19,9 +19,6 @@ use vars qw($notcount $nottime $notsize $msgcount $msgtime $msgsize
 use vars qw($b_blue $ob);
 use vars qw(@ircServers);
 
-#use open ':utf8';
-#use open ':std';
-
 $nickserv = 0;
 
 # It's probably closer to 510, but let's be cautious until we calculate it extensively.
@@ -105,7 +102,7 @@ sub irc {
 
     my %args = (
         Nick    => $param{'ircNick'},
-        Server  => $server,
+        Server  => $resolve,
         Port    => $port,
         Ircname => $param{'ircName'},
     );
@@ -128,6 +125,13 @@ sub irc {
                &ERROR('If this is still a problem, please contact the maintainer.');
            }
            if (defined $conns{$mynick}) {
+               # explicit binmode for socket as "use open" does not seem to work here
+               #binmode $conns{$mynick}->{_socket}, ":utf8";
+               #binmode $conns{$mynick}->{_socket}, ":encoding(UTF-8)";
+               # TODO: need to input bytes, but output utf8
+               binmode $conns{$mynick}->{_socket}, ":bytes";
+               binmode $conns{$mynick}->socket, ":bytes";
+
                $conns{$mynick}->maxlinelen($maxlinelen);
 
                # handler stuff.
@@ -151,15 +155,12 @@ sub irc {
                $conns{$mynick}->add_global_handler( 'nick',      \&on_nick );
                $conns{$mynick}->add_global_handler( 'quit',      \&on_quit );
                $conns{$mynick}->add_global_handler( 'notice',    \&on_notice );
-               $conns{$mynick}
-                 ->add_global_handler( 'whoischannels', \&on_whoischannels );
-               $conns{$mynick}
-                 ->add_global_handler( 'useronchannel', \&on_useronchannel );
+               $conns{$mynick}->add_global_handler( 'whoischannels', \&on_whoischannels );
+               $conns{$mynick}->add_global_handler( 'useronchannel', \&on_useronchannel );
                $conns{$mynick}->add_global_handler( 'whois',      \&on_whois );
                $conns{$mynick}->add_global_handler( 'other',      \&on_other );
                $conns{$mynick}->add_global_handler( 'disconnect', \&on_disconnect );
-               $conns{$mynick}
-                 ->add_global_handler( [ 251, 252, 253, 254, 255 ], \&on_init );
+               $conns{$mynick}->add_global_handler( [ 251, 252, 253, 254, 255 ], \&on_init );
 
                #       $conns{$mynick}->add_global_handler(302, \&on_init); # userhost
                $conns{$mynick}->add_global_handler( 303, \&on_ison );         # notify.
@@ -738,23 +739,20 @@ sub invite {
 # Usage: &joinNextChan();
 sub joinNextChan {
     my $joined = 0;
-    #foreach ( sort keys %conns ) {
-        #$conn = $conns{$mynick};
-       if (defined $conn) {
-           my $mynick = $conn->nick();
-           my @join   = getJoinChans(1);
-
-           if ( scalar @join ) {
-               my $chan = shift @join;
-               &joinchan($chan);
-
-               if ( my $i = scalar @join ) {
-                   &status("joinNextChan: $mynick $i chans to join.");
-               }
-               $joined = 1;
+    if (defined $conn) {
+       my $mynick = $conn->nick();
+       my @join   = getJoinChans(1);
+
+       if ( scalar @join ) {
+           my $chan = shift @join;
+           &joinchan($chan);
+
+           if ( my $i = scalar @join ) {
+               &status("joinNextChan: $mynick $i chans to join.");
            }
+           $joined = 1;
        }
-    #}
+    }
     return if $joined;
 
     if ( exists $cache{joinTime} ) {
@@ -907,9 +905,9 @@ sub getJoinChans {
     # Display 'Chans:' only if more than $show seconds since last display
     if ( time() - $lastChansTime > $show ) {
         $lastChansTime = time();
-    }
-    else {
-        $show = 0;    # Don't display since < 15min since last
+    } else {
+       # Don't display since < 15min since last
+        $show = 0;
     }
 
     # can't join any if not connected
@@ -932,28 +930,25 @@ sub getJoinChans {
                 $chanconf{$_}{autojoin} = $val;
             }
             $skip++ if ( lc $val ne lc $nick );
-        }
-        else {
+        } else {
             $skip++;
         }
 
         if ($skip) {
             push( @skip, $_ );
-        }
-        else {
+        } else {
             if ( defined $channels{$_} or exists $channels{$_} ) {
                 push( @in, $_ );
-            }
-            else {
+            } else {
                 push( @join, $_ );
             }
         }
     }
 
     my $str;
-    $str .= ' in:' . join( ',',   sort @in )   if scalar @in;
-    $str .= ' skip:' . join( ',', sort @skip ) if scalar @skip;
     $str .= ' join:' . join( ',', sort @join ) if scalar @join;
+    $str .= ' in:' . join( ',',   sort @in )   if scalar @in;
+    $str .= ' skip:' . scalar @skip if scalar @skip;
 
     &status("Chans: ($nick)$str") if ($show);