]>
jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blob - vendor/unrealircd/unrealircd-rpc/lib/NameBan.php
11 public Connection
$connection;
13 public function __construct(Connection
$conn)
15 $this->connection
= $conn;
19 * Add a name ban (QLine).
22 * @param string $reason
23 * @param string $duration Optional
24 * @param string $set_by Optional
25 * @return stdClass|array|bool
28 public function add(string $name, string $reason, string $duration = NULL, $set_by = NULL): stdClass
|array|bool
33 'duration_string' => $duration ?? '0',
37 $query['set_by'] = $set_by;
39 $response = $this->connection
->query('name_ban.add', $query);
40 if (property_exists($response, 'tkl'))
41 return $response->tkl
;
49 * @return stdClass|array|bool
52 public function delete(string $name): stdClass
|array|bool
54 $response = $this->connection
->query('name_ban.del', [
57 if (property_exists($response, 'tkl'))
58 return $response->tkl
;
63 * Return a list of all bans.
65 * @return stdClass|array|bool
68 public function getAll(): stdClass
|array|bool
70 $response = $this->connection
->query('name_ban.list');
72 if (!is_bool($response)) {
73 return $response->list;
76 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
83 * @return stdClass|array|bool
86 public function get(string $name): stdClass
|array|bool
88 $response = $this->connection
->query('name_ban.get', [
92 if (!is_bool($response)) {
93 return $response->tkl
;
96 throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');