Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-IRC私有消息函数帮助_Php_Irc - Fatal编程技术网

PHP-IRC私有消息函数帮助

PHP-IRC私有消息函数帮助,php,irc,Php,Irc,由于某些原因,我的机器人不会在IRC频道上向%的人发送私人消息。这是我的剧本: <?php $ircServer = "///"; $ircPort = "6667"; $ircChannel = "#bots"; set_time_limit(0); $msg = $_POST['message']; $pr = $_POST['percentage']; $pr /= 100; $ircSocket = fsockopen($ircServer, $ircPort, $eN,

由于某些原因,我的机器人不会在IRC频道上向%的人发送私人消息。这是我的剧本:

<?php

$ircServer = "///";
$ircPort = "6667";
$ircChannel = "#bots";

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");
}
}
?>
我甚至尝试删除Post数据,并用以下内容替换此部分:

$msg = $_POST['message'];


频道上的其他人没有收到私人消息。

这是您的全部脚本吗
$users
未设置为任何值;您可能打算将其设置为用户名数组<代码>$round也未设置;您可能只是想调用内置的
round()
函数。如果在
for
循环中添加调试行,您至少可以告诉哪些用户(如果有)应该收到消息:

for ($i = 0; $i <= $target; $i++) {
    echo "Sending message to ${users[$i]}\n";
    fwrite($ircSocket, "PRIVMSG " . $users[$i] . " :" . $msg . "\n");
}

for($i=0;$i这是您的整个脚本吗?
$users
没有设置为任何值;您可能想将其设置为用户名数组。
$round
也没有设置;您可能只想调用内置的
round()
功能。如果在
for
循环中添加调试行,您至少可以告诉哪些用户(如果有)应该接收消息:

for ($i = 0; $i <= $target; $i++) {
    echo "Sending message to ${users[$i]}\n";
    fwrite($ircSocket, "PRIVMSG " . $users[$i] . " :" . $msg . "\n");
}

对于($i=0;$i),它仍然不起作用。我的任务是向bot写入命令,例如,我输入命令“Hello Get me”,它应该发送到IRC bot,将消息发送给IRC频道上的许多其他用户。(使用百分比系统)。@Raymond您缺少计算房间中用户列表的代码(您可能想发送一条消息),但您缺少了一些处理传入消息的内容——仔细想想,您实际上从未中断过
while(1)
loop,你只是坐在那里永远接收消息而不处理它们。我似乎不明白,我已经尝试了很多方法。也许我的PHP技能不好。请告诉我。它仍然不起作用。我的任务是向机器人编写命令,例如,我输入命令“Hello Get me”它应该发送到IRC bot,将消息发送给IRC频道上的许多其他用户。(使用百分比系统)。@Raymond您缺少计算房间中用户列表的代码(您可能想发送一个),而你却错过了一些处理传入消息的方法——想想看,你实际上从来没有打破过
,而(1)
循环,你只是永远坐在其中接收消息,而不处理它们。我似乎没有弄明白,我试过很多方法。也许我的PHP技能不太好。请告诉我。“$round”可能是个问题:)怎么做,先生?请告诉我确切的数字。“$round”可能是个问题:)怎么做,先生?请告诉我确切的数字。
for ($i = 0; $i <= $target; $i++) {
    echo "Sending message to ${users[$i]}\n";
    fwrite($ircSocket, "PRIVMSG " . $users[$i] . " :" . $msg . "\n");
}