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();
?>