Skip to content

Instantly share code, notes, and snippets.

@NickHatBoecker
Created July 18, 2018 12:59
Show Gist options
  • Save NickHatBoecker/03c496e87809e29ccffc90ef45c7d4f3 to your computer and use it in GitHub Desktop.
Save NickHatBoecker/03c496e87809e29ccffc90ef45c7d4f3 to your computer and use it in GitHub Desktop.
<?php
// Wir importieren alle nötigen PHP Dateien
require __DIR__.'/alexa-endpoint/autoload.php';
use MayBeTall\Alexa\Endpoint\Alexa;
use MayBeTall\Alexa\Endpoint\User;
// Damit sind wir bereit auf Alexa-Anfragen zu reagieren
Alexa::init();
// Der Benutzer hat den Intent mit dem Namen "SteemMarketPrice" aufgerufen. Zeit zu reagieren!
User::triggered('SteemMarketPrice', function() {
$steemInEur = getSteemInEur();
// Neben Alexa::say() gibt es noch weitere Kommandos, die in diesem Tutorial aber nicht beleuchtet werden
// So könnt ihr eurem Intent bspw. noch ein Bild mitgeben oder Rückfragen stellen
Alexa::say(sprintf("Ein STEEM ist %s EURO wert.", $steemInEur));
});
// Der Benutzer hat den Skill geschlossen und möchte nicht weiter damit agieren
Alexa::exits(function() {
/**
* Obwohl hier nichts passiert, muss der Part drin bleiben.
* Wird dieser Teil weggelassen, meckert Alexa.
*/
});
/**
* Wir bedienen uns des Webservices von cryptocompare
* um den aktuellen STEEM Kurs abzufragen
*/
function getSteemInEur()
{
// Ihr könnt diese URL auch mal im Browser direkt aufrufen
$apiUrl = 'https://min-api.cryptocompare.com/data/price?fsym=STEEM&tsyms=EUR';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $apiUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// Die Antwort des Webservices liegt im JSON Format vor und muss konvertiert werden
$prices = json_decode(curl_exec($curl), true);
curl_close($curl);
return $prices['EUR'];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment