]>
jfr.im git - irc/unrealircd/unrealircd-rpc-php.git/blob - lib/Ban.php
8 class Ban
implements Contracts\Ban
11 public Connection
$connection;
13 public function __construct(string $uri, string $api_login, array $options)
15 $this->connection
= new Connection($uri, $api_login, $options);
21 * @param array $params
25 public function add(string $user, string $type, array $params): stdClass
27 $response = $this->connection
->query('server_ban.add', [
28 'name' => $params['name'],
29 'type' => $params['type'],
30 'reason' => $params['reason'],
31 'length' => $params['length'] ?? '1d',
34 if (is_bool($response)) {
38 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
44 * @param array $params
48 public function delete(string $user, string $type, array $params): stdClass
50 $response = $this->connection
->query('server_ban.del', [
51 'name' => $params['name'],
52 'type' => $params['type'],
55 if (is_bool($response)) {
59 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
66 public function get(): stdClass
68 $response = $this->connection
->query('server_ban.list');
70 if (!is_bool($response)) {
74 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
78 * @param array $params
82 public function show(array $params): stdClass
84 $response = $this->connection
->query('server_ban.get', [
85 'name' => $params['name'],
86 'type' => $params['type']
89 if (!is_bool($response)) {
93 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');