Proof of concept by Jean-Marc Liotier of notifying an IRC channel from PHP. Based on the examples packaged with Net_SmartIRC which is available in Debian as php-net-smartirc.


<?php
include_once('/usr/share/php/Net/SmartIRC.php');

$notification_channel '#my_test_channel';

class 
mynotifier
{
    function 
notification(&$irc)
    {
        global 
$notify_once_id;
        global 
$notification_channel;
        
$irc->message(SMARTIRC_TYPE_CHANNEL$notification_channel'Please remain calm, this is a test.');
        
$irc->unregisterTimeid($notify_once_id);
    }

    function 
termination(&$irc)
    {
        global 
$termination_id;
        
$irc->quit();
        
$irc->unregisterTimeid($termination_id);
    }
}

$notifier = &new mynotifier();
$irc = &new Net_SmartIRC();
//$irc->setDebug(SMARTIRC_DEBUG_ALL);
$irc->setUseSockets(TRUE);

$notify_once_id $irc->registerTimehandler(0$notifier'notification');
$termination_id $irc->registerTimehandler(1$notifier'termination');

$irc->connect('irc.eu.freenode.net'6667);
$irc->login('TestNotifier''PHP IRC notification service''0''TestNotifier');
$irc->join(array($notification_channel));
$irc->listen();
$irc->disconnect();
?>