use vars qw($VERSION %IRSSI);
$VERSION = "2.2.3beta";
-my ($REV) = '$Rev: 616 $' =~ /(\d+)/;
+my ($REV) = '$Rev: 619 $' =~ /(\d+)/;
%IRSSI = (
authors => 'Dan Boger',
contact => 'zigdon@gmail.com',
. 'Can optionally set your bitlbee /away message to same',
license => 'GNU GPL v2',
url => 'http://twirssi.com',
- changed => '$Date: 2009-04-21 12:20:40 -0700 (Tue, 21 Apr 2009) $',
+ changed => '$Date: 2009-04-25 11:08:58 -0700 (Sat, 25 Apr 2009) $',
);
my $window;
my $defservice;
my $poll;
my $last_poll;
-my $last_friends_poll = time;
+my $last_friends_poll = 0;
my %nicks;
my %friends;
my %tweet_cache;
my %id_map;
-my $failwhale = 0;
+my $failwhale = 0;
+my $first_call = 1;
+
my %irssi_to_mirc_colors = (
'%k' => '01',
'%r' => '05',
$error++ unless &do_updates( $fh, $_, $twits{$_}, \%context_cache );
}
+ print $fh "__friends__\n";
if (
time - $last_friends_poll >
Irssi::settings_get_int('twitter_friends_poll') )
{
+ print $fh "__updated ", time, "\n";
my ( $added, $removed ) = &load_friends($fh);
if ( $added + $removed ) {
print $fh "type:debug %R***%n Friends list updated: ",
sprintf( "%d removed", $removed ) ),
"\n";
}
-
- $last_friends_poll = time;
}
- print $fh "__friends__\n";
foreach ( sort keys %friends ) {
print $fh "$_ $friends{$_}\n";
}
# first time we run we don't want to print out *everything*, so we just
# pretend
- my $suppress = 0;
- $suppress = 1 unless keys %tweet_cache;
if ( open FILE, $filename ) {
my @lines;
my %new_cache;
while (<FILE>) {
- chomp;
last if /^__friends__/;
+ unless (/\n$/) { # skip partial lines
+ # print "Skipping partial line: $_" if &debug;
+ next;
+ }
+ chomp;
my $hilight = 0;
my %meta;
my $hilight_color =
$irssi_to_mirc_colors{ Irssi::settings_get_str("hilight_color") };
- my $nick =
- '@' . substr( $meta{account}, 0, index( $meta{account}, "@" ) );
+ my $nick = "\@$meta{account}";
if ( $_ =~ /\Q$nick\E(?:\W|$)/i
and Irssi::settings_get_bool("twirssi_hilights") )
{
} elsif ( $meta{type} eq 'searchid' ) {
print "Search '$meta{topic}' returned id $meta{id}" if &debug;
if (
+ not
exists $id_map{__searches}{ $meta{account} }{ $meta{topic} }
- and $meta{id} >=
+ or $meta{id} >=
$id_map{__searches}{ $meta{account} }{ $meta{topic} } )
{
$id_map{__searches}{ $meta{account} }{ $meta{topic} } =
%friends = ();
while (<FILE>) {
+ if (/^__updated (\d+)$/) {
+ $last_friends_poll = $1;
+ print "Friend list updated" if &debug;
+ next;
+ }
+
if (/^-- (\d+)$/) {
($new_last_poll) = ($1);
last;
if ($new_last_poll) {
print "new last_poll = $new_last_poll" if &debug;
print "new last_poll_id = ", Dumper( $id_map{__last_id} ) if &debug;
- if ($suppress) {
+ if ($first_call) {
print "First call, not printing updates" if &debug;
} else {
foreach my $line (@lines) {
&ccrap("Failed to write replies to $file: $!");
}
}
- $failwhale = 0;
+ $failwhale = 0;
+ $first_call = 0;
return;
}
}