Handlers toevoegen

Je hebt twee basis handlers, tijd en actie:

Tijd
Tijd handlers registreer je zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// Roep elke seconde $bot->commando(); aan (met als param &$irc)
$irc->registerTimeHandler(1000, $bot, 'commando');
?>


Actie
Actie handlers registreer je zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// Roep na elk bericht dat matcht met '.*' $bot->commando(); aan (met als params &$irc en &$data)
$irc->registerActionHandler(SMARTIRC_TYPE_CHANNEL, '.*', $bot, 'commando');
?>


Er zijn nog meer actie types: (http://www.irchelp.org/irchelp/ircprimer.html#QRef legt ze redelijk uit)
SMARTIRC_TYPE_UNKNOWN
SMARTIRC_TYPE_CHANNEL
SMARTIRC_TYPE_QUERY
SMARTIRC_TYPE_CTCP
SMARTIRC_TYPE_NOTICE
SMARTIRC_TYPE_WHO
SMARTIRC_TYPE_JOIN
SMARTIRC_TYPE_INVITE
SMARTIRC_TYPE_ACTION
SMARTIRC_TYPE_TOPICCHANGE
SMARTIRC_TYPE_NICKCHANGE
SMARTIRC_TYPE_KICK
SMARTIRC_TYPE_QUIT
SMARTIRC_TYPE_LOGIN
SMARTIRC_TYPE_INFO
SMARTIRC_TYPE_LIST
SMARTIRC_TYPE_NAME
SMARTIRC_TYPE_MOTD
SMARTIRC_TYPE_MODECHANGE
SMARTIRC_TYPE_PART
SMARTIRC_TYPE_ERROR
SMARTIRC_TYPE_BANLIST
SMARTIRC_TYPE_TOPIC
SMARTIRC_TYPE_NONRELEVANT
SMARTIRC_TYPE_WHOIS
SMARTIRC_TYPE_WHOWAS
SMARTIRC_TYPE_USERMODE
SMARTIRC_TYPE_CHANNELMODE
SMARTIRC_TYPE_CTCP_REQUEST
SMARTIRC_TYPE_CTCP_REPLY

Een voorbeeldje: onjoin
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//Func
function onjoin_greeting(&$irc, &$data) {
    if ($data->nick == $irc->_nick) {
            $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, 'Ik ben er =)');
            }

            return;
        }


        $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, 'Lo ' . $data->nick . '! =)');
    }


// Register
$irc->registerActionhandler(SMARTIRC_TYPE_JOIN, '.*', $bot, 'onjoin_greeting');
?>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Basis bot
  3. Handlers toevoegen
  4. IRC Commando's
  5. Windows Batch bestand
  6. Referentie

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.