]>
jfr.im git - irc/unrealircd/unrealircd-rpc-php.git/blob - lib/Ban.php
7 class Ban
implements Contracts\Ban
10 public Connection
$connection;
12 public function __construct(string $uri, string $api_login, array $options)
14 $this->connection
= new Connection($uri, $api_login, $options);
20 * @param array $params
24 public function add(string $user, string $type, array $params): bool
26 $response = $this->connection
->query('server_ban.add', [
27 'name' => $params['name'],
28 'type' => $params['type'],
29 'reason' => $params['reason'],
30 'length' => $params['length'] ?? '1d',
33 if (is_bool($response)) {
37 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
43 * @param array $params
47 public function delete(string $user, string $type, array $params): bool
49 $response = $this->connection
->query('server_ban.del', [
50 'name' => $params['name'],
51 'type' => $params['type'],
54 if (is_bool($response)) {
58 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
65 public function get(): array|bool
67 $response = $this->connection
->query('server_ban.list');
69 if (!is_bool($response)) {
73 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
77 * @param array $params
81 public function show(array $params): object|bool
83 $response = $this->connection
->query('server_ban.get', [
84 'name' => $params['name'],
85 'type' => $params['type']
88 if (!is_bool($response)) {
92 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');