in functions/slack_slash_command/index.php [52:94]
function formatSlackMessage(Google_Service_Kgsearch_SearchResponse $kgResponse, string $query): string
{
$responseJson = [
'response_type' => 'in_channel',
'text' => 'Query: ' . $query
];
$entityList = $kgResponse['itemListElement'];
// Extract the first entity from the result list, if any
if (empty($entityList)) {
$attachmentJson = ['text' => 'No results match your query...'];
$responseJson['attachments'] = $attachmentJson;
return json_encode($responseJson);
}
$entity = $entityList[0]['result'];
// Construct Knowledge Graph response attachment
$title = $entity['name'];
if (isset($entity['description'])) {
$title = $title . ' ' . $entity['description'];
}
$attachmentJson = ['title' => $title];
if (isset($entity['detailedDescription'])) {
$detailedDescJson = $entity['detailedDescription'];
$attachmentJson = array_merge([
'title_link' => $detailedDescJson[ 'url'],
'text' => $detailedDescJson['articleBody'],
], $attachmentJson);
}
if (isset($entity['image'])) {
$imageJson = $entity['image'];
$attachmentJson['image_url'] = $imageJson['contentUrl'];
}
$responseJson['attachments'] = array($attachmentJson);
return json_encode($responseJson);
}