X-Git-Url: https://git.sommitrealweird.co.uk/twirssi-net-twitter-lite.git/blobdiff_plain/5716c1e0ce7cd0149f01d3755e9fc52a45d8c484..3755151533d4d5e44b6416a43a7ed4f815f96a35:/twirssi.pl?ds=sidebyside diff --git a/twirssi.pl b/twirssi.pl index af37616..5c68213 100644 --- a/twirssi.pl +++ b/twirssi.pl @@ -1,7 +1,6 @@ use strict; use Irssi; use Irssi::Irc; -use Net::Twitter; use HTTP::Date; use HTML::Entities; use File::Temp; @@ -9,10 +8,18 @@ use LWP::Simple; use Data::Dumper; $Data::Dumper::Indent = 1; +BEGIN { + $ENV{JSON_ANY_ORDER} = "JSON Syck DWIW"; + require JSON::Any; + import JSON::Any; + require Net::Twitter; + import Net::Twitter; +} + use vars qw($VERSION %IRSSI); $VERSION = "1.7.2"; -my ($REV) = '$Rev: 348 $' =~ /(\d+)/; +my ($REV) = '$Rev: 351 $' =~ /(\d+)/; %IRSSI = ( authors => 'Dan Boger', contact => 'zigdon@gmail.com', @@ -21,7 +28,7 @@ my ($REV) = '$Rev: 348 $' =~ /(\d+)/; . 'Can optionally set your bitlbee /away message to same', license => 'GNU GPL v2', url => 'http://tinyurl.com/twirssi', - changed => '$Date: 2009-01-06 11:09:34 -0800 (Tue, 06 Jan 2009) $', + changed => '$Date: 2009-01-06 19:33:41 -0800 (Tue, 06 Jan 2009) $', ); my $window; @@ -767,8 +774,9 @@ sub monitor_child { last if /^__friends__/; my %meta; foreach my $key (qw/id account nick type/) { - s/^$key:(\S+)\s*//; - $meta{$key} = $1; + if (s/^$key:(\S+)\s*//) { + $meta{$key} = $1; + } } next if exists $meta{id} and exists $tweet_cache{ $meta{id} }; @@ -875,8 +883,12 @@ sub notice { sub sig_complete { my ( $complist, $window, $word, $linestart, $want_space ) = @_; - # /twitter_reply gets a nick:num - if ( $linestart =~ /^\/twitter_reply(?:_as)?\s*$/ ) { + if ( + $linestart =~ /^\/twitter_reply(?:_as)?\s*$/ + or ( Irssi::settings_get_bool("twirssi_use_reply_aliases") + and $linestart =~ /^\/reply(?:_as)?\s*$/ ) + ) + { # /twitter_reply gets a nick:num @$complist = grep /^\Q$word/i, sort keys %{ $id_map{__indexes} }; } @@ -900,12 +912,13 @@ Irssi::settings_add_str( "twirssi", "twitter_usernames", undef ); Irssi::settings_add_str( "twirssi", "twitter_passwords", undef ); Irssi::settings_add_str( "twirssi", "twirssi_replies_store", ".irssi/scripts/twirssi.json" ); -Irssi::settings_add_bool( "twirssi", "tweet_to_away", 0 ); -Irssi::settings_add_bool( "twirssi", "show_reply_context", 0 ); -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", "tweet_to_away", 0 ); +Irssi::settings_add_bool( "twirssi", "show_reply_context", 0 ); +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_use_reply_aliases", 0 ); $window = Irssi::window_find_name( Irssi::settings_get_str('twitter_window') ); if ($window) { @@ -919,6 +932,10 @@ if ($window) { Irssi::command_bind( "twitter_logout", "cmd_logout" ); Irssi::command_bind( "twitter_switch", "cmd_switch" ); Irssi::command_bind( "twirssi_upgrade", "cmd_upgrade" ); + if ( Irssi::settings_get_bool("twirssi_use_reply_aliases") ) { + Irssi::command_bind( "reply", "cmd_reply" ); + Irssi::command_bind( "reply_as", "cmd_reply_as" ); + } Irssi::command_bind( "twirssi_dump", sub { @@ -933,9 +950,11 @@ if ($window) { Irssi::command_bind( "twirssi_version", sub { - ¬ice( -"Twirssi v$VERSION (r$REV); Net::Twitter v$Net::Twitter::VERSION. " - . "See details at http://tinyurl.com/twirssi" ); + ¬ice("Twirssi v$VERSION (r$REV); " + . "Net::Twitter v$Net::Twitter::VERSION. " + . "JSON in use: " + . JSON::Any::handler() + . ". See details at http://twirssi.com/" ); } ); Irssi::command_bind(