#!/usr/bin/php getFriendsTimeline(); if( $result === false ){ echo "Failed to get timeline\n"; } else{ $str = ""; for( $i=sizeof( $result->status )-1; $i>=0; $i-- ){ $status = $result->status[$i]; $time = strtotime($status->created_at); $str .= "\033[".USER_COLOUR."m".$status->user->screen_name."\033[0m: ".html_entity_decode( $status->text )."\033[".DATE_COLOUR."m (".date("jS M, H:i",$time).")\033[0m\n"; } echo $str; } } // Get replies elseif( trim( $status ) == "r" ){ $result = $tw->getReplies(); if( $result === false ){ echo "Failed to get replies\n"; } else{ $str = ""; for( $i=sizeof( $result->status )-1; $i>=0; $i-- ){ $status = $result->status[$i]; $time = strtotime($status->created_at); $str .= "\033[".USER_COLOUR."m".$status->user->screen_name."\033[0m: ".html_entity_decode( $status->text )."\033[".DATE_COLOUR."m (".date("jS M, H:i",$time).")\033[0m\n"; } echo $str; } } // Catch direct message incomplete command elseif( preg_match( "/^d ([^ ]+)$/", trim( $status ), $m ) ){ echo "Direct message requires username and messaage"; } // Send elseif( preg_match( "/^d ([^ ]+) (.+)$/", trim( $status ), $m ) ){ $result = $tw->sendMessage( $m[1], $m[2] ); if( $result === false ){ echo "Failed to send message\n"; } else{ if( !isset( $result->text ) ) return false; $time = strtotime( $result->created_at ); echo "\033[".USER_COLOUR."m".$result->sender_screen_name."\033[0m => \033[".USER_COLOUR."m".$result->recipient_screen_name."\033[0m: ".$result->text." \033[".DATE_COLOUR."m (".date("jS M, H:i",$time).")\033[0m\n"; } } // Get messages elseif( trim( $status ) == "d" ){ $result = $tw->getMessages(); if( $result === false ){ echo "Failed to get direct messages\n"; }else{ $str = ""; for( $i=sizeof( $result->direct_message )-1; $i>=0; $i-- ){ $message = $result->direct_message[$i]; $time = strtotime( $message->created_at ); $str .= "\033[".USER_COLOUR."m".$message->sender_screen_name."\033[0m => \033[".USER_COLOUR."m".$message->recipient_screen_name."\033[0m: ".html_entity_decode( $message->text )." \033[".DATE_COLOUR."m (".date("jS M, H:i",$time).")\033[0m\n"; } echo $str; } } // Get sent messages elseif( trim( $status ) == "s" ){ $result = $tw->getSentMessages(); if( $result === false ){ echo "Failed to get direct messages\n"; } else echo $result; } elseif( trim( $status ) == "h" ){ echo "tw - Twitter command line client\n"; echo " Usage:\n"; echo " tw - get friends timeline\n"; echo " tw - update twitter status\n"; echo " tw h - display this message\n"; echo " tw r - get replies\n"; echo " tw d - get direct messages\n"; echo " tw d - send direct message\n"; echo " tw s - view sent messages\n"; } // Default: tweet else{ $result = $tw->tweet( $status ); if( $result === false ){ echo "Tweet failed\n"; } else{ if( !isset( $xml->text ) ) die( "Tweet failed\n" ); echo "\033[".USER_COLOUR."m".$result->user->screen_name."\033[0m: ".$result->text."\n"; } } // If an API call fails, a check is in place to see if twitter is up if( $result === false ){ $up = $tw->isUp(); $whale = $tw->getFailWhale(); echo $whale."\n"; } if( !$up ){ echo "Twitter appears to be down\n"; } ?>