Categories
internet Technology

How to Create Twitter Bot using OAuth

Twitter has announced to shut down the Basic Authentication API on August 31st and recommend Twitter application developers to migrate their apps to OAuth Authentication. What about bots? That’s the same. If you have bot created using Basic Authentication, then you should migrate your bot to OAuth. Here’s how, but first..

What is OAuth?

OAuth is a new authentication method that doesn’t use plain username & password to authenticate. OAuth uses a pair of tokens to check your credentials, therefore you don’t need to worry about leaking your password. These tokens are unique per user and per application. For further info about OAuth, check http://oauth.net/

So how?

First thing you need to do after creating bot account is creating an application. Go to http://dev.twitter.com/apps/new with your bot account and fill the form.

Name: the application name will be shown after “via” in your tweets
Application Type: You must choose ‘Browser’
Default Access Type: Choose ‘Read and Write’
– Everything else you can fill any value

After created, go to you application detail. There you can see ‘Consumer Key’ and ‘Consumer Secret’ value. Save these keys.

Then click ‘My Access Token’ button in the right. You will see your ‘Access Token’ and ‘Access Token Secret’. You should save these keys too.

And now let’s go to the code!

You’ll need some libraries to utilize OAuth functions, so download Abraham’s TwitterOAuth library first. Copy the OAuth.php & twitteroauth.php files from downloaded library to your server, and create a new PHP file in the same directory.

And here’s the code:
this is the code I use for my bot @juru_doa 😉

require_once('twitteroauth.php');

define('CONSUMER_KEY', 'insert_your_consumer_key_here');
define('CONSUMER_SECRET', 'insert_your_consumer_secret_here');
define('ACCESS_TOKEN', 'insert_your_access_token_here');
define('ACCESS_TOKEN_SECRET', 'insert_your_access_token_secret_here');

$twitter = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$twitter->host = "http://search.twitter.com/";
$search = $twitter->get('search', array('q' => 'semoga', 'rpp' => 20));

$twitter->host = "https://api.twitter.com/1/";
foreach($search->results as $tweet) {
	$status = 'Amiiiin RT @'.$tweet->from_user.' '.$tweet->text;
	if(strlen($status) > 140) $status = substr($status, 0, 139);
	$twitter->post('statuses/update', array('status' => $status));
}

What above code does?
After authenticating the OAuth tokens, it will do a search for ‘semoga’ keyword and grab the 20 most recent tweets. You can set another keyword for your bot. Then it will ReTweet each tweets and and ‘Amiiin’ before it.

To try whether you bot works or not, you can access your script from a browser. If the displays blank page, then your script might be work. Go check the timeline to make sure.

The last step is creating a cron job to run your script in certain times. How? That part is what you should do yourself 😆

Tips: Don’t run your bot too often, like in every minutes, and don’t tweet too much, since there are limitation from Twitter.

Discuss about Twitter Bot here

190 replies on “How to Create Twitter Bot using OAuth”

This design is steller! You most certainly know how
to keep a reader entertained. Between your wit and your videos, I was almost moved to start my own blog (well, almost.
..HaHa!) Excellent job. I really loved what you had to say, and more than that, how you presented it.
Too cool!

Like

Hey would you mind stating which blog platform you’re working with? I’m going to start my own blog in the near
future but I’m having a tough time choosing between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your design seems different then most blogs and I’m looking for something completely unique.
P.S Apologies for being off-topic but I had
to ask!

Like

I’m amazed, I must say. Rarely do I come across a blog that’s both educative and amusing,
and without a doubt, you’ve hit the nail on the head. The problem is an issue that too few people are speaking intelligently about. Now i’m very happy that I stumbled across this
in my search for something relating to this.

My page online marketing

Like

When chоoѕing a pгoduct,
use a professional contrасtor. Moгe About Steel roοfіng auguѕtа ga
ЅhinglеsAs mentioned eaгlier, mistakeѕ can
literally cost yοu thоusаnds
of dollaгs by reroоfing аugusta ga your
homе. In countries like Germаny anԁ USA, grеen roofing auguѕta gа, and specialty ѕhingles.
When they wеге young уou
сoulԁ nevеr go wrong with synthetic, when in fact it s
just a great looκing and healthу
home. ӏt сompгises vіnyl
resins manufactured into the flеxiblе plastіс finіshed іtem.

Visit my webpage – roofing contractor

Like

Greetings! I know this is kinda off topic but I was wondering which blog
platform are you using for this site? I’m getting fed up of WordPress because I’ve had problems with hackers and I’m looking at alternatives for another platform. I would be awesome if you could point me in the direction of a good platform.

Like

I must thank you for the efforts you have put in writing this site.
I’m hoping to view the same high-grade content by you in the future as well. In truth, your creative writing abilities has motivated me to get my very own blog now 😉

Like

I have been surfing online more than 4 hours today, yet I never
found any interesting article like yours. It’s pretty worth enough for me. Personally, if all site owners and bloggers made good content as you did, the net will be much more useful than ever before.

Like

Leave a reply to feet detox Cancel reply