public function upload(ApiClientInterface $client) { $payload = new FilesUploadPayload(); if ($this->options->has('file')) { $filename = $this->getFileName($this->options->get('file')); $type = Utils::parseFileExtension($filename); $content = $this->readFile($filename); } else { $filename = $this->options->get('filename'); $type = $this->options->get('type', Utils::parseFileExtension($filename)); if (is_null($filename)) { $filename = Utils::rand() . '.' . $type; } $content = $this->readInput(); } if ($this->options->has('filename')) { $filename = $this->options->get('filename'); } if ($this->options->has('title')) { $payload->setTitle($this->options->get('title')); } $payload->setFileType($type); $payload->setChannels([$this->options->get('channel')]); $payload->setContent($content); $payload->setFilename($filename); return $this->getResponse($client->send($payload)); }