2010-11-18 35 views
0

我一直在关注并试图让我的IRC机器人向通道中的用户百分比发送私人消息,但它无法正常工作。PHP - 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"); 
} 
?> 

Evertime我在这里尝试重新编码是错误:Parse error: syntax error, unexpected $end in C:\xampp\htdocs\irc.php on line 55

我试图做一个百分制这将在洗牌系统上将IRC频道上的用户百分比洗牌为私人消息。

+0

这就是为什么您需要正确缩进。如果你这样做了,你会注意到第一个if语句块没有关闭'} ... – ircmaxell 2010-11-18 21:49:18

+0

修正了现在,我的错误是没有阅读它。但是机器人不会通过%shuffle私人信息通知频道上的其他用户。 – Ray 2010-11-18 21:53:08

回答

1

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 
} 

距离飞掠的代码,我看不出有什么明显错误的方法,但我其实没有尝试

+0

我不确定我是否正确地完成了系统,它会起作用吗? – Ray 2010-11-18 21:47:49

+0

修正了现在,我的错误不读它。但机器人不会通过%shuffle私人消息通道上的其他用户... – Ray 2010-11-18 22:05:31

1

你忘了“}”的 如果($ ircSocket){

+0

当我登录到它时,bot会给我这个日志::StatServ!stats[email protected] PRIVMSG Rawr20867:VERSION – Ray 2010-11-18 21:51:39