Tuesday, September 02, 2008

How to Write Your Own IM Bot in Less Than 5 Minutes

Source: http://www.labnol.org/internet/tutorial-create-bot-for-gtalk-yahoo-messenger/4354/

Write IM bot This quick tutorial will show you how to develop your own functional IM bot that works with Google Talk, Yahoo! Messenger, Windows Live and all other popular instant messaging clients.

To get started, all you need to know are some very basic programming skills (any language would do) and web space to host your “bot”.

For this example, I have created a dummy bot called “labnol” that listens to your IM messages and return related search phrases based on Google Suggest. To see this live, add  labnol@bot.im to your GTalk buddy list and start chatting.

google-talk-bot

If you like to write a personal IM bot, just follow these simple steps:

Step 1: Go to imified.com and request an invite. You should also give your bot a decent name because you can have just one bot per email address.

Step 2. An email with a secret key should arrive in your Inbox the next minute. Copy that key to the clipboard and go here to redeem that key.

Step 3. Now it’s time to create a bot which is actually a simple script that resides on your public web server. It could be in PHP, Perl, Python or any other language. More here.

This is the source of the PHP script I wrote for the labnol IM bot - pretty self explanatory - it reads your message, gets the relevant data from Google Suggest and echoes it back to the IM window.

<?php   // Get all the related keywords from Google Suggest   $u = "http://google.com/complete/search?output=toolbar";   $u = $u . "&q=" . $_REQUEST['msg'];    // Using the curl library since dreamhost doesn't allow fopen   $ch = curl_init();   curl_setopt($ch, CURLOPT_URL, $u);   curl_setopt($ch, CURLOPT_HEADER, 0);   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    $xml = simplexml_load_string(curl_exec($ch));   curl_close($ch);    // Parse the keywords and echo them out to the IM window   $result = $xml->xpath('//@data');   while (list($key, $value) = each($result)) {     echo $value ."<br>";   } ?>

Step 4: Once your script is ready, put it somewhere on your web server and copy the full URI to the clipboard.

web-url Now login to your imified account, paste the script URL and add that im bot your friends list. That’s it.

This was a very basic bot but the possibilities are endless.

For instance, you could write a bot that will send an email to all your close friends via a simple IM message. Or you could write one that will does currency conversion. See stuff that is already implemented in this list of most useful Google Talk bots.

How to Write Your Own IM Bot in Less Than 5 Minutes - Digital Inspiration