jerodev/php-irc-client

基于 React 的 PHP IRC 客户端

dev-master 2019-03-12 11:11 UTC

This package is auto-updated.

Last update: 2024-09-12 23:05:11 UTC


README

Build Status StyleCI Scrutinizer Code Quality

这是一个基于 ReactPHP 的纯 PHP IRC 客户端。

🔧 此项目正在开发中,可能不会在其当前状态下正常工作。

文档

客户端

客户端是库的核心,此对象用于执行应用程序与 IRC 服务器之间的所有通信。它将管理到 IRC 服务器的连接,并提供与服务器交互所需的所有功能。

use Jerodev\PhpIrcClient\IrcClient;

$client = new IrcClient('irc.server:6667', 'Jerodev');
$client->connect();

连接到服务器

$client->connect()

此函数打开到 IRC 服务器的连接。在打开连接之前必须设置用户名。

向服务器发送命令

$client->send(string $command)

直接向服务器发送原始 IRC 命令。如果确实知道自己在做什么,才应使用此方法,建议使用以下内置函数。

加入频道

$client->join(string $channel)

加入指定的频道

离开频道

$client->part(string $channel)

离开频道。如果指定的频道尚未加入,则不会发生任何操作。

发送消息

$client->say(string $target, string $message)

向频道或用户发送消息。

事件

客户端上的 on() 函数可以用于注册多个不同的事件。这可以在连接到 IRC 服务器之前和之后进行。事件具有可变的回调参数,下面都进行了描述。

在服务器上注册

$client->on('registered', function () { });

当服务器发送初始欢迎消息(001)时发出。这表示您已连接到服务器。

每日消息

$client->on('motd', function (string $motd) { });

当服务器向客户端发送每日消息时发出。如果每日消息是多行,则此事件可能会多次发出。

主题更改

$client->on('topic', function (string $channel, string $topic) { });

在加入频道或已加入频道的主题更改时发出。

频道用户接收

$client->on('names', function (string $channel, string[] $nicks) { });

当服务器发送频道的昵称列表时发出。这发生在加入频道后立即,以及在请求时。

您还可以通过向事件添加 #channel 来指定要监听的频道。
例如:$client->on('names#channel', function ($names) {})

收到消息

$client->on('message', function (string $from, IrcChannel $channel, string $message) { });

当向已连接的频道发送消息时发出。

您还可以通过向事件添加 #channel 来指定要监听的频道。
例如:$client->on('message#channel', function ($from, $channel, $message) {})

收到 Ping

$client->on('ping', function () { });

当服务器向客户端发送 ping 请求时发出。在发出此事件之前,已将 pong 请求发送回服务器。