unrealircd/unrealircd-rpc

UnrealIRCd 的 JSON-RPC 接口

dev-main 2023-05-08 06:28 UTC

This package is auto-updated.

Last update: 2024-09-08 09:40:01 UTC


README

这允许 PHP 脚本通过 UnrealIRCdJSON-RPC 接口 来控制 UnrealIRCd。

这个库被 UnrealIRCd 网页面板 使用。

如果您有兴趣提供帮助或想讨论 API 功能,请加入我们,在 irc.unrealircd.org#unreal-webpanel 频道(使用 TLS 的 6697 端口进行 IRC)。

安装

composer require unrealircd/unrealircd-rpc:dev-main

UnrealIRCd 设置

需要 UnrealIRCd 6.0.6 或更高版本,并且您需要在其中启用 JSON-RPC。完成后,请务必重新生成 IRCd。

用法

在此示例中,创建一个名为 src/rpctest.php 的文件,包含

<?php
    require dirname(__DIR__) . '/vendor/autoload.php';

    use UnrealIRCd\Connection;

    $api_login = 'api:apiPASSWORD'; // same as in the rpc-user block in UnrealIRCd

    $rpc = new UnrealIRCd\Connection("wss://127.0.0.1:8600/",
                        $api_login,
                        Array("tls_verify"=>FALSE));

    $bans = $rpc->serverban()->getAll();
    foreach ($bans as $ban)
        echo "There's a $ban->type on $ban->name\n";

    $users = $rpc->user()->getAll();
    foreach ($users as $user)
        echo "User $user->name\n";

    $channels = $rpc->channel()->getAll();
    foreach ($channels as $channel)
        echo "Channel $channel->name ($channel->num_users user[s])\n";

然后,在命令行上使用 php src/rpctest.php 运行它

如果示例不起作用,请确保您已正确配置 UnrealIRCd,使用此处使用的相同的 API 用户名和密码,允许的 IP,如果需要,还可以更改 wss://127.0.0.1:8600/