protected function sendMessageByDestName($message, $destinationName) { if ($destinationName[0] === '#') { $destinationName = substr($destinationName, 1); $this->client->getChannelByName($destinationName)->then(function (ChannelInterface $channel) use($message) { $this->client->send($message, $channel); }); } if ($destinationName[0] === '@') { $destinationName = substr($destinationName, 1); $this->client->getUserByName($destinationName)->then(function (User $user) use($message) { $this->client->getDMByUser($user)->then(function (ChannelInterface $channel) use($message) { $this->client->send($message, $channel); }); }); } }