use vars qw($VERSION %IRSSI);
-$VERSION = "2.0.3";
-my ($REV) = '$Rev: 475 $' =~ /(\d+)/;
+$VERSION = "2.0.5";
+my ($REV) = '$Rev: 481 $' =~ /(\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-02-16 20:36:03 -0800 (Mon, 16 Feb 2009) $',
+ changed => '$Date: 2009-02-19 14:22:45 -0800 (Thu, 19 Feb 2009) $',
);
my $window;
return unless &valid_username($username);
eval {
- unless ( $twits{$username}
+ if ( $twits{$username}
->new_direct_message( { user => $target, text => $text } ) )
{
+ ¬ice("DM sent to $target");
+ $nicks{$target} = time;
+ } else {
+ my $error;
+ eval {
+ $error = JSON::Any->jsonToObj( $twits{$username}->get_error() );
+ $error = $error->{error};
+ };
+ die $error if $error;
¬ice("DM to $target failed");
- return;
}
};
if ($@) {
- ¬ice("DM caused an error: $@. Aborted");
+ ¬ice("DM caused an error: $@");
return;
- } else {
- ¬ice("DM sent to $target");
- $nicks{$target} = time;
}
}
return if &too_long($data);
+ my $success = 1;
eval {
unless ( $twits{$username}->update($data) )
{
¬ice("Update failed");
- return;
+ $success = 0;
}
};
+ return unless $success;
if ($@) {
- ¬ice("Update caused an error. Aborted.");
+ ¬ice("Update caused an error: $@. Aborted.");
return;
}
return if &too_long($data);
+ my $success = 1;
eval {
unless (
$twits{$username}->update(
)
{
¬ice("Update failed");
- return;
+ $success = 0;
}
};
+ return unless $success;
if ($@) {
- ¬ice("Update caused an error. Aborted");
+ ¬ice("Update caused an error: $@. Aborted");
return;
}
return;
}
+ my $success = 1;
eval {
unless ( $twit->$api_name($data) )
{
¬ice("$api_name failed");
- return;
+ $success = 0;
}
};
+ return unless $success;
if ($@) {
¬ice("$api_name caused an error. Aborted.");
};
if ($@) {
- print $fh "type:debug Error during friends_timeline call. Aborted.\n";
+ print $fh
+ "type:debug Error during friends_timeline call: $@. Aborted.\n";
return 1;
}
close FILE;
- if ( $attempt < 12 ) {
+ if ( $attempt < 24 ) {
Irssi::timeout_add_once( 5000, 'monitor_child',
[ $filename, $attempt + 1 ] );
} else {
- ¬ice("Giving up on polling $filename");
+ print "Giving up on polling $filename" if &debug;
unlink $filename unless &debug;
+
+ return unless Irssi::settings_get_bool("twirssi_notify_timeouts");
+
+ my $since;
+ my @time = localtime($last_poll);
+ if ( time - $last_poll < 24 * 60 * 60 ) {
+ $since = sprintf( "%d:%02d", @time[ 2, 1 ] );
+ } else {
+ $since = scalar localtime($last_poll);
+ }
+ ¬ice("Haven't been able to get updated tweets since $since");
}
}
if ( Irssi::settings_get_str("twirssi_nick_color") ) {
my $c = Irssi::settings_get_str("twirssi_nick_color");
$c = $irssi_to_mirc_colors{$c};
- $text =~ s/(^|\W)\@([-\w]+)/$1\cC$c\@$2\cO/g;
+ $text =~ s/(^|\W)\@([-\w]+)/$1\cC$c\@$2\cO/g if $c;
}
if ( Irssi::settings_get_str("twirssi_topic_color") ) {
my $c = Irssi::settings_get_str("twirssi_topic_color");
- $text =~ s/(^|\W)\#([-\w]+)/$1\cC$c\#$2\cO/g;
+ $c = $irssi_to_mirc_colors{$c};
+ $text =~ s/(^|\W)\#([-\w]+)/$1\cC$c\#$2\cO/g if $c;
}
$text =~ s/[\n\r]/ /g;
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_notify_timeouts", 1 );
Irssi::settings_add_bool( "twirssi", "twirssi_hilights", 1 );
Irssi::settings_add_bool( "twirssi", "tweet_window_input", 0 );