SUCKUP.de

Twitter automatisieren!

This blog post has been published on 2010-02-09 and may be out of date.

Auf folgender Webseite (www.catswhocode.com) habe ich ein paar sehr interessante PHP-Skript gefunden, eines davon stelle ich hier kurz vor.

Das Skript läuft “out of the box”, dass heißt es ist nicht notwendig, dass man irgendwas von dem folgenden PHP-Code versteht ^^ alles was du tun musst ist, die Variablen einzusetzen -> $user, $pass und $term.

$user = "Benutzernamen";
$pass = "Passwort";
$term = "Suchbegriff";

Hinter $term steht der Begriff für die Suche in der User-Timeline, wer diesen Begriff erwähnt, wird automatisch von dir verfolgt…

< ?php
// Twitter Auto-follow Script by Dave Stevens - http://davestevens.co.uk

$user = "enter_your_twitter_username_here";
$pass = "enter_your_twitter_password_here";

$term = "enter_the_search_term_to_follow_here";

$userApiUrl = "http://twitter.com/statuses/friends.json";

$ch = curl_init($userApiUrl);
curl_setopt($ch, CURLOPT_USERPWD, $user.":".$pass);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$apiresponse = curl_exec($ch);
curl_close($ch);
$followed = array();

if ($apiresponse) {
 $json = json_decode($apiresponse);
 if ($json != null) {
  foreach ($json as $u) {
   $followed[] = $u->name;
  }
 }
}

$userApiUrl = "http://search.twitter.com/search.json?q=" . $term . "&rpp=100";
$ch = curl_init($userApiUrl);
curl_setopt($ch, CURLOPT_USERPWD, $user.":".$pass);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$apiresponse = curl_exec($ch);
curl_close($ch);

if ($apiresponse) {
 $results = json_decode($apiresponse);
 $count = 20;
 if ($results != null) {
  $resultsArr = $results->results;
  if (is_array($resultsArr)) {
   foreach ($resultsArr as $result) {
    $from_user = $result->from_user;
    if (!in_array($from_user,$followed)) {
     $ch = curl_init("http://twitter.com/friendships/create/" . $from_user . ".json");
     curl_setopt($ch, CURLOPT_USERPWD, $user.":".$pass);
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS,"follow=true");
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     $apiresponse = curl_exec($ch);

     if ($apiresponse) {
      $response = json_decode($apiresponse);
      if ($response != null) {
       if (property_exists($response,"following")) {
        if ($response->following === true) {
         echo "Now following " . $response->screen_name . "n";
        } else {
         echo "Couldn't follow " . $response->screen_name . "n";
        }
       } else {
        echo "Follow limit exceeded, skipped " . $from_user . "n";
       }
      }
     }
     curl_close($ch);
    } else {
     echo "Already following " . $from_user . "n";
    }
   }
  }
 }
}
?>

ggf. kann man sich auch noch ein crontab einrichten, welcher dieses Skript ausführt