projects
/
twirssi-net-twitter-lite.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r521 - URLs for truncated tweets are now working
[twirssi-net-twitter-lite.git]
/
twirssi.pl
diff --git
a/twirssi.pl
b/twirssi.pl
index 60257b49e4915ce30b23c4d303d5b39c43260b1c..0d4c1e5d58ba28d07cca6abe6be5ade757f824de 100644
(file)
--- a/
twirssi.pl
+++ b/
twirssi.pl
@@
-11,8
+11,8
@@
$Data::Dumper::Indent = 1;
use vars qw($VERSION %IRSSI);
use vars qw($VERSION %IRSSI);
-$VERSION = "2.1.
1
";
-my ($REV) = '$Rev:
494
$' =~ /(\d+)/;
+$VERSION = "2.1.
2beta
";
+my ($REV) = '$Rev:
521
$' =~ /(\d+)/;
%IRSSI = (
authors => 'Dan Boger',
contact => 'zigdon@gmail.com',
%IRSSI = (
authors => 'Dan Boger',
contact => 'zigdon@gmail.com',
@@
-21,7
+21,7
@@
my ($REV) = '$Rev: 494 $' =~ /(\d+)/;
. 'Can optionally set your bitlbee /away message to same',
license => 'GNU GPL v2',
url => 'http://twirssi.com',
. 'Can optionally set your bitlbee /away message to same',
license => 'GNU GPL v2',
url => 'http://twirssi.com',
- changed => '$Date: 2009-0
2-25 15:20:08 -0800 (Wed, 25 Feb
2009) $',
+ changed => '$Date: 2009-0
3-07 13:50:54 -0800 (Sat, 07 Mar
2009) $',
);
my $window;
);
my $window;
@@
-737,6
+737,12
@@
sub do_updates {
printf $fh "id:%d account:%s nick:%s type:tweet %s\n",
$context->{id}, $username,
$context->{user}{screen_name}, $ctext;
printf $fh "id:%d account:%s nick:%s type:tweet %s\n",
$context->{id}, $username,
$context->{user}{screen_name}, $ctext;
+ if ($context->{truncated}) {
+ printf $fh "id:%s account:%s nick:%s type:ellispis %s\n",
+ $context->{id}."-url", $username,
+ $context->{user}{screen_name},
+ "http://twitter.com/$context->{user}{screen_name}/status/$context->{id}";
+ }
$reply = "reply";
} elsif ($@) {
print $fh "type:debug request to get context failed: $@";
$reply = "reply";
} elsif ($@) {
print $fh "type:debug request to get context failed: $@";
@@
-751,6
+757,12
@@
sub do_updates {
and not Irssi::settings_get_bool("show_own_tweets");
printf $fh "id:%d account:%s nick:%s type:%s %s\n",
$t->{id}, $username, $t->{user}{screen_name}, $reply, $text;
and not Irssi::settings_get_bool("show_own_tweets");
printf $fh "id:%d account:%s nick:%s type:%s %s\n",
$t->{id}, $username, $t->{user}{screen_name}, $reply, $text;
+ if ($t->{truncated}) {
+ printf $fh "id:%s account:%s nick:%s type:ellispis %s\n",
+ $t->{id}."-url", $username,
+ $t->{user}{screen_name},
+ "http://twitter.com/$t->{user}{screen_name}/status/$t->{id}";
+ }
}
print scalar localtime, " - Polling for replies" if &debug;
}
print scalar localtime, " - Polling for replies" if &debug;
@@
-772,6
+784,12
@@
sub do_updates {
$text = &hilight($text);
printf $fh "id:%d account:%s nick:%s type:tweet %s\n",
$t->{id}, $username, $t->{user}{screen_name}, $text;
$text = &hilight($text);
printf $fh "id:%d account:%s nick:%s type:tweet %s\n",
$t->{id}, $username, $t->{user}{screen_name}, $text;
+ if ($t->{truncated}) {
+ printf $fh "id:%s account:%s nick:%s type:ellispis %s\n",
+ $t->{id}."-url", $username,
+ $t->{user}{screen_name},
+ "http://twitter.com/$t->{user}{screen_name}/status/$t->{id}";
+ }
}
print scalar localtime, " - Polling for DMs" if &debug;
}
print scalar localtime, " - Polling for DMs" if &debug;
@@
-911,6
+929,12
@@
sub monitor_child {
( MSGLEVEL_PUBLIC | $hilight ),
$meta{type}, $account, $meta{nick}, $marker, $_
];
( MSGLEVEL_PUBLIC | $hilight ),
$meta{type}, $account, $meta{nick}, $marker, $_
];
+ } elsif ( $meta{type} eq 'ellispis' ) {
+ push @lines,
+ [
+ MSGLEVEL_PUBLIC,
+ "tweet", $account, $meta{nick}, "", $_
+ ];
} elsif ( $meta{type} eq 'search' ) {
push @lines,
[
} elsif ( $meta{type} eq 'search' ) {
push @lines,
[
@@
-1002,7
+1026,7
@@
sub monitor_child {
print JSON JSON::Any->objToJson( \%id_map );
close JSON;
} else {
print JSON JSON::Any->objToJson( \%id_map );
close JSON;
} else {
- &
notice
("Failed to write replies to $file: $!");
+ &
ccrap
("Failed to write replies to $file: $!");
}
}
$failwhale = 0;
}
}
$failwhale = 0;
@@
-1041,11
+1065,11
@@
sub monitor_child {
q{ '--/_.'----'`}
)
{
q{ '--/_.'----'`}
)
{
- &
notice
($whale);
+ &
ccrap
($whale);
}
$failwhale = 1;
}
}
$failwhale = 1;
}
- &
notice
("Haven't been able to get updated tweets since $since");
+ &
ccrap
("Haven't been able to get updated tweets since $since");
}
}
}
}
@@
-1057,6
+1081,10
@@
sub notice {
$window->print( "%R***%n @_", MSGLEVEL_PUBLIC );
}
$window->print( "%R***%n @_", MSGLEVEL_PUBLIC );
}
+sub ccrap {
+ $window->print( "%R***%n @_", MSGLEVEL_CLIENTCRAP );
+}
+
sub update_away {
my $data = shift;
sub update_away {
my $data = shift;
@@
-1070,7
+1098,7
@@
sub update_away {
$server->send_raw("away :$data");
return 1;
} else {
$server->send_raw("away :$data");
return 1;
} else {
- &
notice
( "Can't find bitlbee server.",
+ &
ccrap
( "Can't find bitlbee server.",
"Update bitlbee_server or disable tweet_to_away" );
return 0;
}
"Update bitlbee_server or disable tweet_to_away" );
return 0;
}
@@
-1123,8
+1151,10
@@
sub sig_complete {
)
{ # /twitter_reply gets a nick:num
$word =~ s/^@//;
)
{ # /twitter_reply gets a nick:num
$word =~ s/^@//;
- @$complist = map { "$_:$id_map{__indexes}{$_}" } grep /^\Q$word/i,
- sort keys %{ $id_map{__indexes} };
+ @$complist = map { "$_:$id_map{__indexes}{$_}" }
+ sort {$nicks{$b} <=> $nicks{$a}}
+ grep /^\Q$word/i,
+ keys %{ $id_map{__indexes} };
}
# /tweet, /tweet_as, /dm, /dm_as - complete @nicks (and nicks as the first
}
# /tweet, /tweet_as, /dm, /dm_as - complete @nicks (and nicks as the first
@@
-1215,6
+1245,10
@@
Irssi::settings_add_bool( "twirssi", "tweet_window_input", 0 );
$last_poll = time - &get_poll_time;
$window = Irssi::window_find_name( Irssi::settings_get_str('twitter_window') );
if ( !$window ) {
$last_poll = time - &get_poll_time;
$window = Irssi::window_find_name( Irssi::settings_get_str('twitter_window') );
if ( !$window ) {
+ Irssi::active_win()
+ ->print( "Couldn't find a window named '"
+ . Irssi::settings_get_str('twitter_window')
+ . "', trying to create it." );
$window =
Irssi::Windowitem::window_create(
Irssi::settings_get_str('twitter_window'), 1 );
$window =
Irssi::Windowitem::window_create(
Irssi::settings_get_str('twitter_window'), 1 );