X-Git-Url: https://git.sommitrealweird.co.uk/twirssi-net-twitter-lite.git/blobdiff_plain/f4b220535e82988bf50156a9f41bfb3054e47267..abb94ae1f393fed98efadcafd77ca04eeb034bd8:/twirssi.pl diff --git a/twirssi.pl b/twirssi.pl index b3b63a5..aa360ce 100644 --- a/twirssi.pl +++ b/twirssi.pl @@ -11,8 +11,8 @@ $Data::Dumper::Indent = 1; use vars qw($VERSION %IRSSI); -$VERSION = "2.0.1"; -my ($REV) = '$Rev: 449 $' =~ /(\d+)/; +$VERSION = "2.0.2"; +my ($REV) = '$Rev: 454 $' =~ /(\d+)/; %IRSSI = ( authors => 'Dan Boger', contact => 'zigdon@gmail.com', @@ -21,7 +21,7 @@ my ($REV) = '$Rev: 449 $' =~ /(\d+)/; . 'Can optionally set your bitlbee /away message to same', license => 'GNU GPL v2', url => 'http://twirssi.com', - changed => '$Date: 2009-02-02 09:49:45 -0800 (Mon, 02 Feb 2009) $', + changed => '$Date: 2009-02-04 13:35:29 -0800 (Wed, 04 Feb 2009) $', ); my $window; @@ -219,9 +219,12 @@ sub cmd_reply_as { return; } - # remove any @nick at the beginning of the reply, as we'll add it anyway - $data =~ s/^\s*\@?$nick\s*//; - $data = "\@$nick " . $data; + if ( Irssi::settings_get_bool("twirssi_replies_autonick") ) { + + # remove any @nick at the beginning of the reply, as we'll add it anyway + $data =~ s/^\s*\@?$nick\s*//; + $data = "\@$nick " . $data; + } if ( Irssi::settings_get_str("short_url_provider") ) { foreach my $url ( $data =~ /(https?:\/\/\S+[\w\/])/g ) { @@ -314,21 +317,15 @@ sub cmd_logout { $data = $user unless $data; return unless &valid_username($data); - if ($data) { - ¬ice("Logging out $data..."); - $twits{$data}->end_session(); - delete $twits{$data}; + ¬ice("Logging out $data..."); + $twits{$data}->end_session(); + delete $twits{$data}; + undef $twit; + if ( keys %twits ) { + &cmd_switch( ( keys %twits )[0], $server, $win ); } else { - ¬ice("Logging out $user..."); - $twit->end_session(); - undef $twit; - delete $twits{$user}; - if ( keys %twits ) { - &cmd_switch( ( keys %twits )[0], $server, $win ); - } else { - Irssi::timeout_remove($poll) if $poll; - undef $poll; - } + Irssi::timeout_remove($poll) if $poll; + undef $poll; } } @@ -853,8 +850,11 @@ sub monitor_child { } } - next if exists $meta{id} and exists $tweet_cache{ $meta{id} }; - $tweet_cache{ $meta{id} } = time; + if (not $meta{type} or $meta{type} ne 'searchid') { + next if exists $meta{id} and exists $tweet_cache{ $meta{id} }; + $tweet_cache{ $meta{id} } = time; + } + my $account = ""; if ( $meta{account} ne $user ) { $account = "$meta{account}: "; @@ -874,7 +874,7 @@ sub monitor_child { my $hilight_color = $irssi_to_mirc_colors{ Irssi::settings_get_str("hilight_color") }; - if ( $_ =~ /\@$meta{account}\W/i ) { + if ( ($_ =~ /\@$meta{account}\W/i) && Irssi::settings_get_bool("twirssi_hilights") ) { $meta{nick} = "\cC$hilight_color$meta{nick}\cO"; $hilight = MSGLEVEL_HILIGHT; } @@ -892,6 +892,12 @@ sub monitor_child { $meta{type}, $account, $meta{topic}, $meta{nick}, $marker, $_ ]; + if ( $meta{id} > + $id_map{__searches}{ $meta{account} }{ $meta{topic} } ) + { + $id_map{__searches}{ $meta{account} }{ $meta{topic} } = + $meta{id}; + } } elsif ( $meta{type} eq 'dm' ) { push @lines, [ @@ -899,16 +905,15 @@ sub monitor_child { $meta{type}, $account, $meta{nick}, $_ ]; } elsif ( $meta{type} eq 'searchid' ) { - print "Search '$meta{topic}' returned id $meta{id}"; + print "Search '$meta{topic}' returned id $meta{id}" if &debug; if ( $meta{id} >= $id_map{__searches}{ $meta{account} }{ $meta{topic} } ) { $id_map{__searches}{ $meta{account} }{ $meta{topic} } = $meta{id}; - } else { + } elsif (&debug) { print "Search '$meta{topic}' returned invalid id $meta{id}"; } - print "Search '$meta{topic}' id set to $meta{id}" if &debug; } elsif ( $meta{type} eq 'error' ) { push @lines, [ MSGLEVEL_MSGS, $_ ]; } elsif ( $meta{type} eq 'debug' ) { @@ -1123,7 +1128,9 @@ Irssi::settings_add_bool( "twirssi", "show_own_tweets", 1 ); Irssi::settings_add_bool( "twirssi", "twirssi_debug", 0 ); Irssi::settings_add_bool( "twirssi", "twirssi_first_run", 1 ); Irssi::settings_add_bool( "twirssi", "twirssi_track_replies", 1 ); +Irssi::settings_add_bool( "twirssi", "twirssi_replies_autonick", 1 ); Irssi::settings_add_bool( "twirssi", "twirssi_use_reply_aliases", 0 ); +Irssi::settings_add_bool( "twirssi", "twirssi_hilights", 1 ); Irssi::settings_add_bool( "twirssi", "tweet_window_input", 0 ); $last_poll = time - &get_poll_time;