【问题标题】:PHP - IRC FunctionPHP - IRC 函数
【发布时间】:2011-05-12 07:36:26
【问题描述】:

我一直在考虑并尝试让我的 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 频道上的用户百分比随机播放到私人消息中,在随机播放系统上设置百分比。

【问题讨论】:

  • 这就是你需要正确缩进的原因。如果你这样做了,你会注意到第一个 if 块没有关闭 }...
  • 现在修复了,我没有阅读它的错误。但机器人不会通过 % shuffle 私信频道上的其他用户。

标签: php irc


【解决方案1】:

你忘记了'}' if ($ircSocket) {

【讨论】:

  • 当我登录时,机器人会给我这个日志: :StatServ!stats@Mazzz.com PRIVMSG Rawr20867 :VERSION
【解决方案2】:

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
}

仅浏览代码,我没有发现该方法有任何明显错误,但我实际上并没有尝试过

【讨论】:

  • 我不确定我是否正确完成了系统,它会起作用吗?
  • 现在修复了,我没有阅读它的错误。但是机器人不会通过 % shuffle 给频道上的其他用户私信...
猜你喜欢
  • 2011-09-06
  • 1970-01-01
  • 2012-03-19
  • 2012-10-13
  • 2012-10-04
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多