CommandLineTwitter
Note: You are viewing an old revision of this page. View the current version.
Command Line Twitter
My notes on setting up the command line twitter client ttytter on my Mac.
Install the ttytter readline module with
$ sudo cpan Term::ReadLine::TTYtter
This gives you a readline which counts total characters per line (VERY IMPORTANT).
my ~/.ttytterrc
:
ansi=1 verify=1 track='#sysadmin' readline=1 vcheck=1 mentions=1 urlopen=open %U avatar=open %U backload=40 simplestart=1 ssl=1 newline=1 exts=/Users/barney/.ttytter/instapaper.pl [email protected] extpref_instapaper_password=badpass
mkdir ~/.ttytter
Put instapaper.pl in the ~/.ttytter
directory:
#instapaper.pl Extension code by @augmentedfourth http://www.twitter.com/augmentedfourth # Add a command (/later) to add tweet to Instapaper #Released under the WTFPL: http://en.wikipedia.org/wiki/WTFPL $addaction = sub { my $command = shift; if ($command =~ m#^/later (.+)#) { my $tweet_id=$1; my $tweet = &get_tweet($tweet_id); if (!$tweet->{'id_str'}) { print $stdout "-- sorry, no such tweet (yet?).\n"; return 1; } #modified to use .ttytterrc by @stormdragon2976 http://www.twitter.com/stormdragon2976 if ((!defined($extpref_instapaper_username)) || (!defined($extpref_instapaper_password))) { print $streamout ("Instapaper information not found. "); print $streamout ("Please add extpref_instapaper_username and extpref_instapaper_password "); print $streamout ("to your .ttytterrc.\n"); return 1; } my $ip_user = $extpref_instapaper_username; my $ip_pass = $extpref_instapaper_password; my $add_url="twitter.com/$tweet->{'user'}->{'screen_name'}/statuses/$tweet->{'id'}"; my $ip_url="https://www.instapaper.com/api/add?url=" . $add_url . "&username=" . $ip_user . "&password=" . $ip_pass . "&auto-title=1"; my $content = `curl -s \"$ip_url\"`; if ($content =~ /201/){ print "Added to Instapaper!\n"; }else{ print "Something went wrong, not added. Error code: "; print "$content\n"; } return 1; } return 0; };
To Do
I really want to rewrite the instapaper extension as an exercise to make it all perl (and try using LWP::Simple). It would also be nice if the extension printed a 'trying to add to instapaper ... success!' sort of message instead of just waiting until success or failure to complete (although the asynchronous nature of ttytter may make that difficult).
I also really want to see if I can write an extension to use the bit.ly api to shorten urls instead of using is.gd.
Another fun idea: an extension that creates github gists from tweets or something along those lines.