Basis bot
Hier volgt een opzetje voor de basis bot, het framework vanwaaruit je werkt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
// De IRC class
require_once('../pear/SmartIRC.php');
// De bot class
class myBot {
// Constructor
function myBot() {
}
// Reactie op het help commando
function help(&$irc, &$data) {
$irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, 'U zei "' . $data->message . '"?');
}
}
// Command line vars
$args = $_SERVER['argv'];
$host = ((isset($args[1]) && !empty($args[1])) ? $args[1] : 'irc.xs4all.nl');
$channel = ((isset($args[2]) && !empty($args[2])) ? $args[2] : '#phpircbot-test');
// Initialisatie
$bot = &new myBot();
$irc = &new Net_SmartIRC();
$irc->setDebug(SMARTIRC_DEBUG_ALL);
$irc->setLogfile('./mybot.log'); // Log file
$irc->setLogdestination(SMARTIRC_FILE);
$irc->setAutoReconnect(true); // Auto reconnect?
$irc->setUseSockets(true);
// Handlers, reageert op de regex '!help.*' met de functie 'help'
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, '!help.*', $bot, 'help');
$irc->connect($host, 6667); // Verbind
$irc->login('MyBot', 'MyBot 1.0', 0, 'mybot'); // Log in
$irc->join(array($channel)); // Kies kanaal
$irc->listen(); // Ga luisteren
$irc->disconnect(); // Doei =)
?>
// De IRC class
require_once('../pear/SmartIRC.php');
// De bot class
class myBot {
// Constructor
function myBot() {
}
// Reactie op het help commando
function help(&$irc, &$data) {
$irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, 'U zei "' . $data->message . '"?');
}
}
// Command line vars
$args = $_SERVER['argv'];
$host = ((isset($args[1]) && !empty($args[1])) ? $args[1] : 'irc.xs4all.nl');
$channel = ((isset($args[2]) && !empty($args[2])) ? $args[2] : '#phpircbot-test');
// Initialisatie
$bot = &new myBot();
$irc = &new Net_SmartIRC();
$irc->setDebug(SMARTIRC_DEBUG_ALL);
$irc->setLogfile('./mybot.log'); // Log file
$irc->setLogdestination(SMARTIRC_FILE);
$irc->setAutoReconnect(true); // Auto reconnect?
$irc->setUseSockets(true);
// Handlers, reageert op de regex '!help.*' met de functie 'help'
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, '!help.*', $bot, 'help');
$irc->connect($host, 6667); // Verbind
$irc->login('MyBot', 'MyBot 1.0', 0, 'mybot'); // Log in
$irc->join(array($channel)); // Kies kanaal
$irc->listen(); // Ga luisteren
$irc->disconnect(); // Doei =)
?>
als je deze op windows zou aanroepen:
c:\php\cli\php -q c:\scripts\ircbots\mybot\mybot.php irc.server.org #kanaal
Gaat de bot draaien, en elke keer als je iets wat met de regex '!help.*' matcht reageert hij met: 'U zei "!help[***]"?'.
« vorige pagina | volgende pagina »