"; $token = $this->authenticate(); //try { $state = $this->loadState($token); $data = $this->parseMessage($message); $intent = BaseIntent::createIntent($state, $data); $message = $intent->process(); $state = $intent->getState(); $this->saveState($token, $state); /* } catch (Exception $exception) { SkypeResponse::message($exception->getMessage()); } */ $this->sendResponse($token, $to, $message); } private function authenticate() { $clientId = env('MSBOT_CLIENT_ID'); $clientSecret = env('MSBOT_CLIENT_SECRET'); $scope = 'https://graph.microsoft.com/.default'; $data = sprintf('grant_type=client_credentials&client_id=%s&client_secret=%s&scope=%s', $clientId, $clientSecret, $scope); $response = CurlUtils::post(MSBOT_LOGIN_URL, $data); $response = json_decode($response); return $response->access_token; } private function loadState($token) { $url = sprintf('%s/botstate/skype/conversations/%s', MSBOT_STATE_URL, '29:1C-OsU7OWBEDOYJhQUsDkYHmycOwOq9QOg5FVTwRX9ts'); $headers = [ 'Authorization: Bearer ' . $token ]; $response = CurlUtils::get($url, $headers); $data = json_decode($response); return json_decode($data->data); } private function parseMessage($message) { $appId = env('MSBOT_LUIS_APP_ID'); $subKey = env('MSBOT_LUIS_SUBSCRIPTION_KEY'); $message = rawurlencode($message); $url = sprintf('%s?id=%s&subscription-key=%s&q=%s', MSBOT_LUIS_URL, $appId, $subKey, $message); $data = file_get_contents($url); $data = json_decode($data); dd($data); return $data; } private function saveState($token, $data) { $url = sprintf('%s/botstate/skype/conversations/%s', MSBOT_STATE_URL, '29:1C-OsU7OWBEDOYJhQUsDkYHmycOwOq9QOg5FVTwRX9ts'); $headers = [ 'Authorization: Bearer ' . $token, 'Content-Type: application/json', ]; $data = '{ eTag: "*", data: "' . addslashes(json_encode($data)) . '" }'; CurlUtils::post($url, $data, $headers); } private function sendResponse($token, $to, $message) { $url = sprintf('%s/conversations/%s/activities/', SKYPE_API_URL, $to); $headers = [ 'Authorization: Bearer ' . $token, ]; $response = CurlUtils::post($url, $message, $headers); echo "
" . htmlentities(json_encode(json_decode($message), JSON_PRETTY_PRINT)) . "
"; var_dump($response); } }