Return to Snippet

Revision: 21975
at December 27, 2009 13:31 by jonathonmaguire


Initial Code
<html>
<head>
<title>Twitter Follow Script - Jonathon Maguire</title>
</head>
<body>
<center>
<u><h1><i>Twitter Follow Script</i></h1></u>
<style> 
div { 
border: .2em dotted #900; 
} 
#border { 
border-width: .2em; 
border-style: solid; 
border-color: red; 
} 
</style>
<form method="post" action="">
<div id="border">
<p><u>Username:</u></p>
<input type="text" name="username" value="">
<br><p><u>Password:</u></p>
<input type="password" name="password" value="">
<br><p><u>Search Term</u></p>
<input type="text" name="term" value=""><br>
<input type="submit" name="submit" value="submit">
</div>
</center>

</body>
</html>
<?php

// Twitter Auto-follow Script by Dave Stevens - http://davestevens.co.uk, Modified by Jonathon Maguire, http://www.unknowntruth.net

if(isset($_POST['submit']))
{
// Set the twitter user
$user = $_POST['username'];
$pass = $_POST['password'];
 
// Set the term you want to follow (e.g. "soccer")
$term = $_POST['term'];
 
// Get already followed
$userApiUrl = "http://twitter.com/statuses/friends.json";

if(isset($_POST['submit'])) 
$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 = 90;
 
	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://www.davestevens.co.uk

Initial Description
Modified version of the script created by Dave Stevens, Enables the user to input their credentials on a webpage rather than having to change the actual php script code.

Changes: Changed $user,$pass,$term

This is a modified script, the original can be found here: http://snipplr.com/view/17595/twitter-autofollow-php-script/

Initial Title
Twitter Follow Script Modified

Initial Tags
php, html, script, twitter

Initial Language
PHP