【发布时间】:2017-02-10 06:33:48
【问题描述】:
我是 PHP 新手,正在开发一个加入频道、发送消息然后退出的 IRC 机器人。
除了 $message 发送后(第 6 行),脚本中的所有内容都正常工作,我不明白如何退出无限循环。
// Open Internet connection
$socket = fsockopen("$server", $port);
fputs($socket,"USER $nick $nick $nick $nick :$nick\n");
fputs($socket,"NICK $nick\n");
fputs($socket,"JOIN ".$chan."\n");
fputs($socket, "PRIVMSG ".$chan." :$message1\n");
// Begin while loop
while(1) {
while($data = fgets($socket)) {
echo nl2br($data);
flush();
$ex = explode(' ', $data);
$channel = $ex[2];
$nicka = explode('@', $ex[0]);
$nickb = explode('!', $nicka[0]);
$nickc = explode(':', $nickb[0]);
// $host = $nicka[1];
$nick = $nickc[1];
if($ex == "PING"){
fputs($socket, "PONG ".$ex[1]."\n");
}
$args = NULL; for ($i = 4; $i < count($ex); $i++) { $args .= $ex[$i] . ' '; }
}
}
【问题讨论】:
-
为什么你有两个循环?
-
break 2;也许?
标签: php while-loop bots irc