Ever wanted to post to a ton of different Twitter accounts automatically, feeding them a list of URLs you’ve created and need to get indexed? This script will take all of your Twitter accounts and randomly post to 5 of them at a time, as often as you’d like. It also makes use of your paid proxies so twitter will be less likely to catch on. It’ll even shorten your URLs using bit.ly!
Huge v3 update!!!
This script now posts through the web interface and also posts to identi.ca to further increase your indexing rates!
Make sure to read through the comments, there is a lot of good info in there.
v3 Instructions
The posting now happens using the twitter.exe file in the download. You will need to upload all of the .php files to a website. If you want to post with the Twitter API read below for those instructions.
In the twitter.exe file you will see 9 tabs. Only the first 4 in all caps do anything, the rest just store subroutines for the software.
For the videos, switch them to 720p and watch full screen to actually be able to see things.
TWITTER BOT
IDENTI.CA BOT
IDENTI.CA GROUPS BOT
IDENTI.CA ACCOUNT CREATION
v2 and PHP Script Instructions
So considering this is a fairly simple script, there is a lot going on. This script consists of the attached .zip file, and makes use of bit.ly to shorten your URLs.
The first step is signing up for an account at bit.ly. After you register log in at get your bit.ly API key. You’ll need that info when setting up the script.
The next thing you need to do is sign in with one of your Twitter accounts and create a new app. During the registration set the callback url to http://yoursite.com/twitterfolder/confirm.php, where yoursite.com is your site and twitterfolder is the folder you’ve installed the script in to. Then choose read & write for the default access type. You’ll get a key and a secret code after you create the app.
Now open twitter_config.php. Enter your key and secret code from Twitter in lines 3 & 4. If you have an account with The Best Spinner, enter your details in lines 8 & 9 and when using the articlesplit feature detailed below your twitter posts will be spun for you. You can control how many accounts are posted to each time the script runs by changing the $accounts_to_post variable. It defaults to 5, but you can post to more of less if needed. You can control if the script will randomly refresh to post again at any time between 30 and 600 seconds. This is put in place to help reduce any footprint to having your application posting at regular intervals. You can also control if you want to post an @ to one of your other accounts or not. Once your accounts are indexed in Google, there really isn’t a need to any more. By default the script is set to 1 which will post them, but if you no longer want to just change it to 0. If you want to be emailed when there is a posting problem enter your email address on that line, and if you want to have your URLs shortened enter your bit.ly details on those lines.
Now upload all of the files to your server. If your servers don’t run something like suPHP you will need to change the permissions on twitter_accounts.txt and twitter_urls.txt to 666 so that the script can write to them. You can check with your host to see if they are running suPHP.
Before doing any posting you are going to have to authenticate all of your Twitter accounts to use the app. Make sure you aren’t logged in to Twitter and go to yoursite.com/twitterfolder/start.php. You will see a login for. Enter the login details for one of your accounts and click Allow. Twitter will authorize the account. You’ll end up back on the login form when everything is up and running.
After all of your accounts are setup, now we can add messages and urls. Paste your URLs, one per line, into the twitter_urls.txt file. Do the same with the messages into the twitter_messages.txt file. I have gotten you started with 124 samples. They are really only meant to show what can be there. If you use them you are unlikely to have your accounts show up in the search since unique posts are one of the criteria Twitter uses.
The script will now only post a link in half of the tweets. It will also only post an @ 25% of the time. It will only post a trending topic 20% of the time. These are all put in place to help keep Twitter from thinking your accounts are spam and suspending them.
The last thing to do is setup the cron job. This is what will automatically run your script for you, posting your links all day long.
The easiest way to schedule
The easiest way to get the script to run automatically is to install the Reload Every plugin in Firefox. The load up the twitter.php script in Firefox, right-click, go to Reload Every, and have it reload the tab at whatever interval you want to use. You will need to leave Firefox running all the time, or it won’t do any posting.
Alternately you can setup a cron job at your host. If you are unsure how ask them, as every control panel is different. The command you want to run is “php /path/to/your/file/twitter.php”. Don’t include the quotes, and change “/path/to/your/file” to the absolute path to the folder with the twitter.php file. Again, if you’re unsure what this path is contact your host.
Other cool things you can do with the script
twitter.php?action=listaccounts – This will show you a list of your accounts, with links. Copy the URLs to track indexing in Scrapebox, check what’s getting posted, etc.
twitter.php?action=trends – Get the current trending topics
twitter.php?action=favorites – This can be used to get you content for your twitter_messages.txt. Jost copy the resulting output. If you want to get the favorites for a different user change “toptweets” to any username in line 38 of twitter.php.
twitter.php?action=messages – If you already had a bunch of hashes setup in your old twitter_config.php file, copy them all in to the new one and run this URL. It will output them all in the new format needed for the twitter_messages.txt file.
twitter.php?action=articlesplit – If you need content for your twitter_messages.txt file then this tool will be extremely helpful. Paste in content from anywhere and it will split it into sentences, spin them if you have the TBS integration setup, and put that into your twitter_messages.txt file for you.
Questions? Comments? Suggestions? Leave them below.
VERSION 1.1 – Updated 7/29: Only the twitter.php file has changed. Added a new feature to the script. Now when you go to twitter.php?listaccounts=1 it will list of links to all of your accounts so you can go through and see which ones might be suspended. Also added in a check that if you run out of URLs, it stops posting.
VERSION 1.2 – Updated 8/18: Both files have changed. The only difference in the twitter_config.php file is the $email variable. The script will now email you if it fails to post to an account, so you can check to see if it’s still live and remove it if it’s not. This way you shouldn’t need to track it manually.
VERSION 1.3 – Updated 8/22: A couple changes this time, but only the twitter.php file needs to be updated. The biggest one first, the script now also posts an @ to another one of your accounts with each post. This will serve to increase the backlinks to your twitter accounts and also help get accounts indexed quicker, meaning they can get your backlinks indexed quicker. The other change is the script no longer turns everything into a hashtag automatically. So if you want to use hashtags that’s still fine, the hash just needs to be in the twitter_config.php file. If you want to use other strings of text that include keywords, you can do that too. I’ve updated the twitter_config.php file to show examples of how the new messages can look. I didn’t update the variable name, so if you don’t want to change anything you don’t have to. I have a pretty cool idea for the next update, but it will be a bit trickier to implement so it might not be out too soon.
VERSION 1.4 – Updated 8/23: Ok, that update was easier than expected. Lots of goodies this time. All you need to do is update the twitter.php script. 4 new things in this version.
- First, every post you make will now poll the trending topics and include one of them in your post, automatically. That insures that your posts are getting where the search engines are looking.
- If you want to see what the trending topics are manually, you can just go to twitter.php?trends=1
- Since we’re now posting an @, a URL and a trending topic, we have to limit the length of our messages we’re adding in. I figured 20 characters each for the @, trending topic, and URL, leaving 80 characters for the message. So that’s what the script cuts it off at.
- Want to get some ideas for messages to add to the script? Go to twitter.php?favorites=1 and you’ll get a list of the Tweets from http://twitter.com/toptweets/favorites, trimmed down to size, and ready to just copy into twitter_config.php. Couldn’t be easier to get great quality content for your messages. I also removed any @ mentions from these posts so your posts aren’t showing up where you don’t want them to. Every couple hours this this should be completely refreshed, so you can have a pretty long list of new messages quickly.
VERSION 1.5 – Updated 8/24: Only the twitter.php file updated. Made a few changes to keep Twitter from thinking these are spam posts. 10% of the time your posts won’t include a link. It will only include a trend 20% of the time.
VERSION 2.0 – Updated 8/27: Totally new setup today to deal with the new oauth requirements. Instead of just having 2 files, there is how a .zip file to download. The config file is much simpler now, as most things that were in it have been moved out to .txt files. Setup of the script is still easy, but authenticating accounts to your twitter app will take some time.
VERSION 2.1 – Updated 8/29: Just the twitter.php file needs to be updated. A small bug fix addressing an issue when you ran out of URLs.
VERSION 2.2 – Updated 9/7: Both the twitter.php and twitter_config.php files are updated. This version changes how you access the features listed under “Other cool things you can do with the script” and adds in a new one. You can now split articles into sentences, then they get trimmed down to 100 characters for use in your tweets. Grab content from anywhere and you now have fresh tweets to use. Two new config options also added in for how many accounts to post to at a time and if you want to use the @ feature. Both are explained in the twitter_config.php file as well as above in the directions. You can just copy those lines into your existing twitter_config.php or copy the values for the other lines into the new one.
VERSION 2.2.1 – Updated 9/8: Only the confirm.php file is updated. Fixed a redirect bug. For the next version I’m working on auto logout after authorizing an account and better error handling for suspended accounts.
VERSION 2.3 – Updated 9/20: Pretty big and exciting update. Updated files this time include start.php, twitter_config.php and twitter.php. There are two new config options, both are explained above as well as in the twitter_config.php file. They deal with the two new really cool features.
First, the two timesavers. The new start.php file forces the login form, so you no longer need to log out of twitter before authorizing your next account. It also auto-redirects to the authorize login, so you don’t need to click the link. Should easily cut the time needed for authorizing accounts down by 400-500%. Also intended to save quite a bit of time, the articlesplit feature now automatically adds everything to your twitter_messages.txt file and redirects back to the form. No more copy/paste. At least the repetitive tasks aren’t as time consuming now.
Another update to the articlesplit is that it doesn’t trim the sentences at all when it grabs them. Instead they are trimmed to a random length when posting. I also changed the script so @ only shows up 25% of the time. It seems like Twitter is starting to crack down on accounts that post a lot of @s.
Now the two things I think are pretty cool. There is a config option you can set now to post at random intervals. If you enable it (it’s enabled by default) the script will randomly refresh and post to your accounts every 30-600 seconds. Let’s see them footprint that
The two things to keep in mind with this; your browser window needs to be open, so you can be using normal cron and you still want to have ReloadEvery enabled, but maybe set it to 20-30 minutes. Until I can fix the handling of suspended accounts, if the script does try to post to one it will stop being able to refresh after that.
The biggest addition is the new The Best Spinner integration. When doing the article splitting the script will now use the TBS API to automatically insert 3 variations of any word they find in their massive thesaurus. Enter your TBS login details in the twitter_config.php file. I wanted to do it at the time of posting, but TBS limits API queries to 250/account per day, so doing it at the time of splitting the article was the only thing that made sense.
VERSION 2.3.1 – Updated 9/21: Ok, error handling should be working now, no more of those uncaught exceptions (except for trends and favorites which won’t affect any of the automation). The forced login on the start.php script also didn’t make it in to yesterday’s release, so that’s in here. Updated files are EpiOAuth.php, EpiTwitter.php, confirm.php and twitter.php.
** NEW UPDATE COMING SOON ** – I know it’s been a while since there were any updates on this script, but I have still been working on it. There is an update coming, hopefully in the next week or two, that is going to blow everyone’s mind
It’s going to get rid of the need to run your own applications, and it’s going to include one of the biggest (most difficult) feature requests I’ve gotten. I even had to spend a couple hundred dollars on some new software to get it done. There will be about another 2-3 hours of development needed, then I’ll need to do some testing for stability and effectiveness, then it will be released.
VERSION 3.0 – Updated 11/22: This is a big one. Posting now happens through an .exe file and uses the web interface instead of the API. You no longer need to create applications and authenticate your users. You can also post to Identi.ca. You will need to upload the new twitter.php file. Otherwise only the twitter.exe and identica groups.txt files are new.
VERSION 3.0.1 – Updated 1/9: Only the twitter.exe is updated this time. It now forces accounts to use the new interface, and posts with that. There is also a new setting for minutes between tweets. That will be ported to the identi.ca bot in the next release as well.
VERSION 3.0.2 – Updated 1/13: Again only twitter.exe updated. Bug fixed where it wasn’t posting.
VERSION 3.0.3 – Updated 1/31: Again only twitter.exe updated. Bug fixed where it wasn’t posting. Also added posting delay to the identi.ca bot.
VERSION 3.0.4 – Updated 2/5: Again only twitter.exe updated. Bug fixed where it wasn’t posting for some users.
VERSION 3.0.5 – UPDATED 4/21: Only the twitter.exe updated. Bug fix to get articles from ezine and log in to Twitter.
Unless you register first your username will be your PayPal email address.