public function sendMessage($room_id, $message) { if (!$this->initiated) { $this->initiate(); } $query = array("cmd" => "send_chat", "myid" => $this->myid, "_v" => self::CLIENT_VERSION, "_av" => 4, "_t" => $this->access_token, "ln" => "en"); $post = array("pdata" => json_encode(array("text" => $message, "room_id" => (string) $room_id, "last_chat_id" => 0, "read" => 1, "edit_id" => 0))); $builder = new RequestBuilder(); $builder->setRequestMethod("POST"); $builder->setEndpoint($this->params['endpoint']); $builder->setQuery("/gateway.php"); $builder->setQueryParams($query); $builder->setPostField($post); $request = $builder->build($this, $this->driver); $res = $this->driver->request($request); if (strpos($res[0]['Content-Type'], "json") !== false) { return $res[1]; } else { return json_decode($res[1], true); } }
protected function api($http_method = "GET", $endpoint, $query, $params, $post_field = array()) { if (!$this->initiated) { $this->initiate(); } $builder = new RequestBuilder(); $builder->setRequestMethod($http_method); $builder->setEndpoint($endpoint); $builder->setQuery($query); $builder->setQueryParams($params); $builder->setPostField($post_field); $builder->setAuthentication($this->params['authentication']); $request = $builder->build($this, $this->driver); $res = $this->driver->request($request); if (strpos($res[0]['HTTP_CODE'], "40") === 0) { $response = json_decode($res[1], true); throw new UnauthorizedException("errors: " . join(PHP_EOL, $response['errors'])); } else { if (strpos($res[0]['HTTP_CODE'], "50") === 0) { $response = json_decode($res[1], true); throw new \RuntimeException("errors: " . join(PHP_EOL, $response['errors'])); } } return json_decode($res[1], true); }