PRIVMSG на IRC-сервер от php - PullRequest
0 голосов
/ 08 мая 2018

Я надеюсь, что кто-то может помочь мне с этим .... Я использую скрипт phpircchat ....

У меня он подключается к серверу, отображаются имена пользователей, и с сервера на страницу чата (через mIRC) приходит сообщение ...

Мне удалось получить сообщение ввода в файл php для отправки в IRC "PRIVMSG" однако мне трудно заставить это работать, и я надеюсь, что кто-то может показать мне, где я иду не так, как я провел почти две недели, чтобы добраться до этой точки ...

//IRC Functions
function irc_write($socket, $msg) {
global $mode;
if ($mode == 1) {
return @fputs($socket, $msg);
} elseif ($mode == 2) {
return socket_write($socket, $msg);
}
}

function irc_nb($socket) {
global $mode;
if ($mode == 1) {
return socket_set_blocking($socket, false);
} elseif ($mode == 2) {
socket_set_nonblock($socket);
}
}

function irc_open($serv_addr, $serv_port, $errno, $errstr) {
global $mode;
if ($mode == 1) {
return fsockopen($serv_addr, $serv_port, $errno, $errstr);
} elseif ($mode == 2) {
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, $serv_addr, $serv_port);
return $socket;
}
}

// POSTED FROM CHAT INPUT TO PHP FILE
$channel = $_POST['channel'];
$channel = '#'.$channel.'';
$cmd = $_POST['cmnd'];
set_time_limit(0);
$socket = irc_open($serv_addr, $serv_port, $errno, $errstr);
irc_nb($socket);
$command = "PRIVMSG $channel :$cmd\n";
irc_write($socket, $command);

Я был бы очень признателен всем, кто может помочь, пожалуйста, действительно хотел бы, чтобы это функционировало

1 Ответ

0 голосов
/ 17 июля 2018

Не знаю, помогает ли это, но я сам работал над чем-то похожим

if(strpos($server['READ_BUFFER'], "hiya")) 
{
    $chunk = $server['READ_BUFFER'];
    SendCommand('PRIVMSG #chan : hello how are you'. "\n\r");   
}  
...