public function sendMessage($message, $tts = false)
    {
        $deferred = new Deferred();

        $this->getPrivateChannel()->then(function ($channel) use ($message, $tts, $deferred) {
            $channel->sendMessage($message, $tts)->then(function ($response) use ($deferred) {
                $message = $this->factory->create(Message::class, $response, true);
                $deferred->resolve($message);
            }, \React\Partial\bind_right($this->reject, $deferred));
        }, \React\Partial\bind_right($this->reject, $deferred));

        return $deferred->promise();
    }