PHP-IRC连接

PHP-IRC连接,php,irc,Php,Irc,这是我的剧本: $ircServer = ""; $ircPort = "6667"; $ircChannel = "#"; set_time_limit(0); $ircSocket = fsockopen($ircServer, $ircPort, $eN, $eS); if ($ircSocket) { fwrite($ircSocket, "USER Lost rawr.test lol :code\n"); fwrite($ircSocket, "NICK Ra

这是我的剧本:

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

set_time_limit(0);

$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");
            }
        }
    }
} else {
    echo $eS . ": " . $eN;
}
我在添加一个函数时遇到问题,该函数将向IRC频道上的每个人发送私人消息。我尝试了$read和其他方法,但它不起作用,IRC挂起


注意:这是出于教育/私人目的,不会造成任何伤害。

几年前我用Perl编写了几个IRC机器人程序,老实说,我已经记不住了。无论如何,要向所有用户发送私人消息,首先需要获取通道中的所有用户

无论如何,发送私人消息的命令是:

PRIVMSG #channel :Sup?
是的,它会在#频道回响“Sup?”。对于用户来说也是如此:

PRIVMSG John :Sup?
你需要做的就是找到所有的用户。为此:

NAMES #channel
代码由你决定。祝你好运

EDIT:要获得用户的百分比,只需将他们加载到一个数组中,然后使用
shuffle($array)如果你想随机化他们的位置。然后使用
$size=count($array)
对于数组大小,将大小乘以百分比<代码>$target=$size*0.10为10%。然后使用以获得四舍五入的数字

现在,循环用户数组并将限制设置为
$target
。给你

编辑:以下是示例代码(其余代码由您决定):

...

$msg = $_POST['message'];
$pr = $_POST['percentage'];
$pr /= $100; // if the input is already 0.10 or something, no need to do this.

...

shuffle($users);
$size = count($users);
$target = $size * $pr;
$target = $round($target);

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

...
。。。
$msg=$_POST['message'];
$pr=$_POST['percentage'];
$pr/=$100;//如果输入值已经是0.10或其他值,则无需执行此操作。
...
洗牌(用户);
$size=计数($users);
$target=$size*$pr;
$target=$round($target);

对于($i=0;$i我几年前就用Perl编写了几个IRC机器人程序,老实说,我已经记不住了。无论如何,要向所有用户发送私人消息,首先需要获取通道中的所有用户

无论如何,发送私人消息的命令是:

PRIVMSG #channel :Sup?
是的,它会在#频道上回显“Sup?”。然后用户也会回显:

PRIVMSG John :Sup?
您需要做的就是获取所有用户。要做到这一点:

NAMES #channel
密码由你决定。祝你好运

编辑:要获得用户的百分比,只需将他们加载到一个数组中,然后使用
shuffle($array);
如果您想随机化他们的位置。然后使用
$size=count($array);
对于数组大小,将大小乘以百分比。
$target=$size*0.10;
乘以10%。然后使用以获得四舍五入的数字

现在,循环用户数组,并将限制设置为
$target

编辑:以下是示例代码(其余代码由您决定):

...

$msg = $_POST['message'];
$pr = $_POST['percentage'];
$pr /= $100; // if the input is already 0.10 or something, no need to do this.

...

shuffle($users);
$size = count($users);
$target = $size * $pr;
$target = $round($target);

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

...
。。。
$msg=$_POST['message'];
$pr=$_POST['percentage'];
$pr/=$100;//如果输入值已经是0.10或其他值,则无需执行此操作。
...
洗牌(用户);
$size=计数($users);
$target=$size*$pr;
$target=$round($target);

对于($i=0;$i我觉得任何一个IRC机器人,频道中的每个人都是坏消息熊。雷蒙德:我觉得你应该发布预期用途,因为这可能被用于大邪恶。不,这是私人用途,我的朋友。我觉得任何一个IRC机器人,频道中的每个人都是坏消息熊。雷蒙德:我觉得你应该ost的预期用途,因为这可能被用于伟大的邪恶。不,它的私人用途,我的朋友。很好,我如何随机抓取一个频道上的用户百分比,并向他们发送私人消息?(PHP表单).Ruel,我想你误解了。很抱歉没有说清楚。我需要PHP脚本在IRC频道上随机选择一个%的用户,并向他们发送私人消息“你好”。基本上以HTML/PHP格式发布数据,并将消息发送给IRC频道上一个%的随机用户。我理解你的意思。:)我已经解释了详细的操作方法。
shuffle()
将数组随机化,我的解释的另一部分将得到一个百分比。我将再次编辑我的答案,向您展示一个示例代码。基本上,PHP应该连接到IRC。HTML表单或PHP表单将显示“I enter hello”在表单中,它应该在IRC频道上为%的随机用户发送私有消息。这就像在频道上旋转用户一样。所有这些都是由PHP/HTML.Nice完成的,我如何随机获取频道上%的用户并为他们发送私有消息?(PHP表单).Ruel,我想你误解了。很抱歉没有说清楚。我需要PHP脚本在IRC频道上随机选择一个%的用户,并向他们发送私人消息“你好”。基本上以HTML/PHP格式发布数据,并将消息发送给IRC频道上一个%的随机用户。我理解你的意思。:)我已经解释了详细的操作方法。
shuffle()
将数组随机化,我的解释的另一部分将得到一个百分比。我将再次编辑我的答案,向您展示一个示例代码。基本上,PHP应该连接到IRC。HTML表单或PHP表单将显示“I enter hello”在表单中,它应该在IRC频道上对%的随机用户发送私有消息。这就像在频道上旋转用户一样。所有操作都是通过PHP/HTML完成的。