Несколько лет назад я написал несколько IRC-ботов на Perl, и, честно говоря, я не могу их больше помнить. В любом случае, чтобы отправить личное сообщение всем пользователям, сначала нужно получить всех пользователей канала.
В любом случае, команда для отправки личного сообщения:
PRIVMSG #channel :Sup?
Да, это будет эхо "Sup?" на # канале. То же самое относится и к пользователю:
PRIVMSG John :Sup?
Все, что вам нужно сделать, это получить всех пользователей. Для этого:
NAMES #channel
Код зависит от вас. Удачи.
РЕДАКТИРОВАТЬ : Чтобы получить процент пользователей, просто загрузите их в массив, а затем используйте shuffle()
shuffle($array);
, если вы хотите рандомизировать их позиции. Затем используйте count()
$size = count($array);
для размера массива, умножьте размер на процент. $target = $size * 0.10;
на 10%. Затем используйте round()
, чтобы получить округленное число.
Теперь зациклите массив пользователей и установите ограничение $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")
}
...