First, I feel it’s appropriate to add a short word of warning. This is a bad article. It violates the Terms of Service on any site you’d deem worth it. Plus, I don’t even do this. Honest. No, seriously, I don’t.
Ok, fine. I did test this on a couple sites just for fun. What?
Firefox iMacros Addon

The first thing you need is the infinitely handy Firefox addon iMacros.
iMacros allows you to automate Firefox tasks. Record and replay repetitious work. “If you love the Firefox web browser, but are tired of repetitive tasks like visiting the same sites every days, filling out forms, and remembering passwords, then iMacros for Firefox is the solution you’ve been dreaming of!” Yeah well, we’re using it for the power of evil, in this case.
Finding Users
For this example, we’re going to use a site called BlogCatalog, but really any site will do.
The first thing you need is a userlist or some way to easily jump from user to user without much fuss. Luckily BlogCatalog gives us a page in their directory that outputs a random assortment of users.

We can reload this page over and over, each time giving us a choice of randomly selected users to choose from. We’re only interested in the first box on the top left though. This will be the link we click to visit a random BlogCataloger’s page each time.
Randomization
As anyone who has done an Armorsmith grind in Star Wars Galaxies back in the day will tell you, a good macro needs some random delays. That’s why I use iMacro’s ability to run Javascript rather than just recording a standard macro.
With Javascript, I can assign my loops as well as generate a random number variable to insert into various PAUSE lines of the resulting macro.
The Codez
Note: You do need to do some editing for this to work correctly for you. Particularly the x and y coordinates for the thumbnail. If you can’t figure that part out for yourself, I question whether you should be participating in this little experiment anyway.
var macro;
var jsLF = "\n";
var i, retcode, errtext;
var MyDelay;
var MyPosts;
/* Define the Looping */
iimDisplay("Loops");
for ( i = 1; i < = 50; i++) {
iimDisplay("loop "+i);
/* Assign a Random Delay for Hax0ring */
MyDelay = Math.round(10*Math.random());
iimDisplay("Random wait t="+MyDelay);
/* Create the Macro */
macro = "CODE:";
macro += "SET !ERRORIGNORE YES" + jsLF;
macro += "URL GOTO=http://www.blogcatalog.com/user" + jsLF;
macro += "WAIT SECONDS=" + MyDelay + jsLF;
macro += "CLICK X=19 Y=188" + jsLF;
macro += "WAIT SECONDS=" + MyDelay + jsLF;
macro += "TAG POS=1 TYPE=A ATTR=TXT:Add To My Friends" + jsLF;
macro += "WAIT SECONDS=" + MyDelay + jsLF;
retcode = iimPlay(macro);
if (retcode < 0) { // an error has occured
errtext = iimGetLastError();
alert(errtext);
}
if (retcode < 0) { // an error has occured
errtext = iimGetLastError();
alert(errtext);
break;
}
}
Can Has Friends
Basically, what iMacro does is run through my Javascript as if it were running through a standard macro. The javascript sets the variables, such as the loop and delay between actions (MyDelay) from the random number generated.
The result is an output of a new macro upon each run of the Javascript. This new macro has single-use delay values between each line. So, for example, if I’m running the Javascript 3 times, the first run will pause for 4 seconds between actions, the next will be 2 and then next might be 10. How exciting.
Now don’t run off to follow everyone on Twitter, Plurk or the other hundreds of networks out there. Like I said, this is obviously against most sites’ Terms of Service and will likely get you banned if you abuse it.
Use your macroz skillz 4 guud.

9 Responses to “Hacking Friends with Macros”rss
Nicole Price, on June 21st, 2008, said:
While the post is very interesting, I am one of those who should be asking herself if I should be participating in this experiment at all! You have effectively scared the day lights out of me. Thank you.
Xeldec, on June 21st, 2008, said:
Interesting. This is probably what that guy in Mybloglog is doing. He seems to be friends with everyone. I’ll definitely try using this plugin. It seems it would save me time on a lot of things.
Eva White, on June 23rd, 2008, said:
Now I’m trying to figure out how this will help. I’m also wondering about why anyone would want to put in so much effort if he’s not gaining anything out of it, besides the obvious kick that you’re getting. Afterall why would you want to show that you’re friends with so many people when you are not? I value my friendships, both on and offline. I don’t think I’ll be doing this. I also hope that you don’t consider this spam as well. Some of your articles were cool. This one, its liking as if being in kindergaten you are pretending to know the school.
Freebies, on June 27th, 2008, said:
Very interesting, not sure if ill give it a go though!
Marketing, on July 1st, 2008, said:
This plugin is quite a lifesaver to be honest. Especially with all the repetitive tasks I have to do every day.
Panther, on July 3rd, 2008, said:
Thanks a lot for the plugin. Sometimes I use macros when playing online games, for completing repetitive tasks…
Steve, on July 4th, 2008, said:
What gave you the idea to give this a try Travis?
Give us a real life macro and we could all get rid of our wives…….
watch greek, on July 23rd, 2008, said:
lmao thats cool. I’ll try the plugin.
Patrick, on July 25th, 2008, said:
This feature is cool. I have been using BlogCatalog so I guess it wouldn’t be so hard to try this out. Thanks for introducing this feature..
Commenting
You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>Your nasty comment spam will be blocked by Akismet.