unrealircd / unrealircd-rpc
UnrealIRCd 的 JSON-RPC 接口
dev-main
2023-05-08 06:28 UTC
Requires
- php: ^8.0|^8.1
- textalk/websocket: ^1.5
This package is auto-updated.
Last update: 2024-09-08 09:40:01 UTC
README
这允许 PHP 脚本通过 UnrealIRCd 的 JSON-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/。