Yahoo! Messenger PHP BOT

Yahoo! Messenger PHP BOT


Yahoo! Messenger PHP BOT

  • Created: 02/16/2012
  • latest Update: 02/25/2012
  • By: nr913
  • What can you use it for?

    Having no particulary best use, the BOT can fullfill a great variety of tasks, such as:

    • Live chat support;
    • General information query BOT;
    • Newsletter BOT;
    • Remote control via Yahoo! Messenger.

    It can easily adopt a practical use, according to your need.

    What’s so special with this BOT?

    • Super easy to implement;
    • Supports file transfers through Yahoo! relay servers. That means, you don’t have to worry about port forwarding;
    • Manage events more easily with the callback system;
    • OOP with Exceptions make it more user-friendly.

    What’s in the package?

    There are two main files, YBot.Class.php and YBot.Const.php. These are the core files.

    Beside these two, four sample files are included:

    • sample.php, Can be used as a template for projects;
    • sample_info.php, Displays general information. I made it do display currency and weather;
    • sample_remote.php, Makes shell commands and transfers files via Yahoo! Messenger;
    • sample_support.php, A simple principle of managing clients for a live chat session support.

    How can you use it?

    Good question. First, you have to include the main file, YBot.Class.php.

include ('YBot.Class.php');

Then, make an instance of YBot class, passing to the constructor the ID and Password of the account the BOT will log into.

$Bot = new YBot('yahoo_id','password');

To run the BOT process, simply call Start method


But that will just start the bot. Beware, after Start method is called, everything below that line will get called after the bot stops. Any initialization you do, you must do it before this line.

echo "Before start";
echo "After start";
// prints just "Before start", because bot process is still running.

Of course, if you want to handle incoming messages, files and so on, you have to register a callback, like so

$Bot->RegisterEvent('message', 'OnIncomingMessage');

function OnIncomingMessage($from, $message) {
    global $Bot;

    // handle the message

    $Bot->SendMessage($from, "I don't know what to say...");

Documentation about events, methods and their parameters can be found in the begining of YBot.Class.php.

So, a basic BOT file should look like this:


// include the bot class
include ('YBot.Class.php');

// instantiate the bot
$Bot = new YBot('yahoo_id', 'password');

// register our callbacks
$Bot->RegisterEvent('message', 'OnIncomingMessage');

// declare the callbacks
function OnIncomingMessage($from, $message) {
    global $Bot;
    $Bot->SendMessage($from, "I don't know what to say..");

// start the bot process




[02/25/2012] Fixed a bug for large packets

[02/16/2012] Version 1.0 released


If I ever happen to improve the BOT, I’ll let you know about it. Updates are free.


Author Image