* @return stdClass|array|bool
* @throws Exception
*/
- public function getAll(): stdClass|array|bool
+ public function getAll(int $object_detail_level=1): stdClass|array|bool
{
- $response = $this->connection->query('channel.list');
+ $response = $this->connection->query('channel.list', [
+ 'object_detail_level' => $object_detail_level,
+ ]);
if(!is_bool($response)) {
return $response->list;
* Get a channel object
*
* @return stdClass|array|bool
- * @throws Exception
*/
- public function get(string $channel): stdClass|array|bool
+ public function get(string $channel, int $object_detail_level=3): stdClass|array|bool
{
- $response = $this->connection->query('channel.get', ['channel' => $channel]);
+ $response = $this->connection->query('channel.get', [
+ 'channel' => $channel,
+ 'object_detail_level' => $object_detail_level,
+ ]);
if (!is_bool($response)) {
return $response->channel;
}
-
- throw new Exception('Invalid JSON Response from UnrealIRCd RPC.');
+ return false; /* eg user not found */
}
/**
* Set and unset modes on a channel.
*
* @return stdClass|array|bool
- * @throws Exception
*/
public function set_mode(string $channel, string $modes, string $parameters): stdClass|array|bool
{
* Set the channel topic.
*
* @return stdClass|array|bool
- * @throws Exception
*/
public function set_topic(string $channel, string $topic,
string $set_by=null, string $set_at=null): stdClass|array|bool
* Kick a user from the channel.
*
* @return stdClass|array|bool
- * @throws Exception
*/
public function kick(string $channel, string $nick, string $reason): stdClass|array|bool
{
- return $this->connection->query('user.kick', [
+ return $this->connection->query('channel.kick', [
'nick' => $nick,
'channel' => $channel,
'reason' => $reason,