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完成的。