Return to Snippet

Revision: 16203
at July 28, 2009 20:54 by shakefon


Initial Code
<?php

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

// Set the twitter user
$user = "";
$pass = "";

// Set the term you want to follow (e.g. "soccer")
$term = "";

// Get already followed
$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";
				}
			
			}
			
		}	
			
	}
	
		
}

?>

Initial URL
http://davestevens.co.uk

Initial Description
Simple PHP script which allows you to specify your twitter log in details and a search term, then automatically follow users who have tweeted that term. Code is released as Open Source, use it as you wish - please leave my URL in the commented section though.

Initial Title
Twitter Auto-Follow PHP Script

Initial Tags
curl, php, api, twitter

Initial Language
PHP