]> git.sommitrealweird.co.uk Git - twirssi-net-twitter-lite.git/blobdiff - twirssi.pl
$VERSION = "1.1"; - r303 - Make sure we keep the cache of nicks up to date
[twirssi-net-twitter-lite.git] / twirssi.pl
index 7c096d571d558e9fd189651425e5c97d3e392c46..76892c37d0ab8e07218afd16d254548b23136d5a 100644 (file)
@@ -10,7 +10,7 @@ use vars qw($VERSION %IRSSI);
 use constant { DEBUG => 0 };
 
 $VERSION = "1.1";
-my ($REV) = '$Rev: 301 $' =~ /(\d+)/;
+my ($REV) = '$Rev: 303 $' =~ /(\d+)/;
 %IRSSI   = (
     authors     => 'Dan Boger',
     contact     => 'zigdon@gmail.com',
@@ -150,6 +150,7 @@ sub cmd_login {
         &notice("Logged in as $user, loading friends list...");
         &load_friends;
         &notice( "loaded friends: ", scalar keys %nicks );
+        %nicks = %friends;
         $nicks{$user} = 0;
         &get_updates;
     } else {
@@ -163,7 +164,7 @@ sub load_friends {
     while (1) {
         my $friends = $twit->friends( { page => $page } );
         last unless $friends;
-        $new_friends{ $_->{screen_name} } = $nicks{ $_->{screen_name} } = time
+        $new_friends{ $_->{screen_name} } = time
           foreach @$friends;
         $page++;
         last if @$friends == 0 or $page == 10;
@@ -264,7 +265,7 @@ sub get_updates {
               $text;
         }
         print scalar localtime, " - Done" if DEBUG;
-        print $fh "--friends:\n";
+        print $fh "__friends__\n";
         &load_friends;
         foreach (sort keys %friends) {
           print $fh "$_ $friends{$_}\n";
@@ -284,7 +285,8 @@ sub monitor_child {
         my @lines;
         while (<FILE>) {
           chomp;
-          push @lines, $_ unless /^--friends:$/;
+          last if /^__friends__/;
+          push @lines, $_ unless /^__friends__/;
         }
 
         %friends = ();
@@ -294,7 +296,7 @@ sub monitor_child {
             last;
           }
           my ($f, $t) = split ' ', $_;
-          $friends{$f} = $t;
+          $nicks{$f} = $friends{$f} = $t;
         }
 
         print "new last_poll = $last_poll" if DEBUG;