首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP - IRC连接

PHP - IRC连接
EN

Stack Overflow用户
提问于 2010-11-18 08:12:13
回答 1查看 4.6K关注 0票数 1

下面是我的脚本:

代码语言:javascript
复制
$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挂起。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-18 08:36:13

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

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

代码语言:javascript
复制
PRIVMSG #channel :Sup?

是啊,它会回响"Sup?“在#频道。用户也是如此:

代码语言:javascript
复制
PRIVMSG John :Sup?

你所需要做的就是获得所有的用户。为此,请执行以下操作:

代码语言:javascript
复制
NAMES #channel

代码由您决定。祝好运。

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

现在,循环用户数组并将限制设置为$target。这就对了。

编辑:下面是一个示例代码(剩下的代码由您决定:

代码语言:javascript
复制
...

$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")
}

...
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4210511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档