我一直在考虑并尝试让我的IRC机器人向通道上%的用户发送私人消息,但它不起作用。
这是我的脚本,当你看到它的时候,你会明白的:
<?php
/**
* Configuration.
* Pretty self-explanatory
*/
$ircServer = "//";
$ircPort = "6667";
$ircChannel = "#//";
set_time_limit(0);
$msg = $_POST['message'];
$pr = $_POST['percentage'];
$pr /= 100;
$ircSocket = fsockopen($ircServer, $ircPort, $eN, $eS);
if ($ircSocket)
{
fwrite($ircSocket, "USER Lost rawr.test lol :code\n");
fwrite($ircSocket, "NICK Rawr" . rand() . "\n");
fwrite($ircSocket, "JOIN " . $ircChannel . "\n");
while(1)
{
while($data = fgets($ircSocket, 128))
{
echo nl2br($data);
flush();
// Separate all data
$exData = explode(' ', $data);
// Send PONG back to the server
if($exData[0] == "PING")
{
fwrite($ircSocket, "PONG ".$exData[1]."\n");
}
}
echo $eS . ": " . $eN;
}
shuffle($users);
$size = count($users);
$target = $size * $pr;
$target = $round($target);
for ($i = 0; $i <= $target; $i++) {
fwrite($ircSocket, "PRIVMSG " . $users[$i] . " :" . $msg . "\n");
}
?>每次我尝试重新编码时,都会出现错误:Parse error: syntax error, unexpected $end in C:\xampp\htdocs\irc.php on line 55
我正在尝试做一个百分比系统,将在IRC频道上的用户的%混洗到私人消息在混洗系统上的设置%。
发布于 2010-11-19 05:46:40
unexpected $end意味着它到达了文件的末尾,并且您所有的块({})都没有关闭。是的,你有更多的大括号,而不是右大括号;你忘了在什么地方关闭一个。根据缩进,我认为您的意思是紧跟在if语句之后关闭内部while循环:
while(1)
{
while($data = fgets($ircSocket, 128))
{
echo nl2br($data);
flush();
// Separate all data
$exData = explode(' ', $data);
// Send PONG back to the server
if($exData[0] == "PING")
{
fwrite($ircSocket, "PONG ".$exData[1]."\n");
}
} // <-- THIS IS NEW
}浏览一下代码,我看不出这种方法有什么明显的错误,但我并没有真正尝试它
发布于 2010-11-19 05:48:50
忘记了if ($ircSocket) {的'}‘
https://stackoverflow.com/questions/4219878
复制相似问题