jerodev / php-irc-client
基于 React 的 PHP IRC 客户端
Requires
- react/socket: dev-master
Requires (Dev)
- phpstan/phpstan: ^0.11.2
- phpstan/phpstan-phpunit: ^0.11.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-12 23:05:11 UTC
README
这是一个基于 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 请求发送回服务器。