Data versturen, en de socket open houden
De gegevens die we hebben verzameld, gaan we nou naar de server sturen om deze te laten verwerken.
Daarna maken we een while zodat de socket actief blijft, en vervolgens een PING? PONG! script zodat de IRC server de verbinding niet verbreekt
Maar voordat we dat doen, maken we even een functie aan, wat het versturen van data makkelijker maakt.
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
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
<?
function sockwrite($data){
global $bot;
socket_write($bot['socket'],$data."\r\n");
}
sockwrite("USER ".$bot['ident']." ".$bot['hostname']." ".$bot['server']." :".$bot['realname']);
sockwrite("NICK ".$bot['nickname']);
$channel = 0; // Deze var komt later wel terug :)
while ($data=@socket_read($bot['socket'],65000,PHP_NORMAL_READ)) {
if($data == "\n") continue;
// De data die we binnen krijgen, splitten we alvast op voor het makkelijk aanspreken.
$edata = explode(" ",$data);
for($i=0; isset($edata[$i]); $i++) {
$edata[$i]=trim($edata[$i]);
}
// De variable $channel die net is geset, gaan we nou controleren.
if ($channel == "0") {
// De variable is nog 0, we moeten nog een kanaal in !
sockwrite("JOIN ".$bot['kanaal']);
$channel = 1;
}
// Hier is er een PING binnengekomen. Deze gaan we antwoorden met PONG
if($edata[0] == "PING") {
sockwrite("PONG ".$edata[1]);
}
// Hier komen alle scripts te staan.
require('scripts.php');
}
?>
function sockwrite($data){
global $bot;
socket_write($bot['socket'],$data."\r\n");
}
sockwrite("USER ".$bot['ident']." ".$bot['hostname']." ".$bot['server']." :".$bot['realname']);
sockwrite("NICK ".$bot['nickname']);
$channel = 0; // Deze var komt later wel terug :)
while ($data=@socket_read($bot['socket'],65000,PHP_NORMAL_READ)) {
if($data == "\n") continue;
// De data die we binnen krijgen, splitten we alvast op voor het makkelijk aanspreken.
$edata = explode(" ",$data);
for($i=0; isset($edata[$i]); $i++) {
$edata[$i]=trim($edata[$i]);
}
// De variable $channel die net is geset, gaan we nou controleren.
if ($channel == "0") {
// De variable is nog 0, we moeten nog een kanaal in !
sockwrite("JOIN ".$bot['kanaal']);
$channel = 1;
}
// Hier is er een PING binnengekomen. Deze gaan we antwoorden met PONG
if($edata[0] == "PING") {
sockwrite("PONG ".$edata[1]);
}
// Hier komen alle scripts te staan.
require('scripts.php');
}
?>
« vorige pagina | volgende pagina »