Spisu treści:

Alexa Skill: Przeczytaj najnowszy tweet (w tym przypadku Boga): 6 kroków
Alexa Skill: Przeczytaj najnowszy tweet (w tym przypadku Boga): 6 kroków

Wideo: Alexa Skill: Przeczytaj najnowszy tweet (w tym przypadku Boga): 6 kroków

Wideo: Alexa Skill: Przeczytaj najnowszy tweet (w tym przypadku Boga): 6 kroków
Wideo: Co się Stanie Jeśli.. WYPIJESZ GRIMACE SHAKE *pogromcy mitów* 2024, Listopad
Anonim
Alexa Skill: Przeczytaj najnowszy tweet (w tym przypadku Boga)
Alexa Skill: Przeczytaj najnowszy tweet (w tym przypadku Boga)

Zrobiłem umiejętność Alexa, aby przeczytać „God's Latest Tweet” – treść, która pochodzi z @TweetOfGod, ponad 5 milionów konta subskrybenta utworzonego przez byłego pisarza komediowego Daily Show. Używa IFTTT (If This Then That), arkusza kalkulacyjnego Google i niezwykle łatwego w użyciu narzędzia Alexa Skill Builder, Storyline.

Aby uzyskać wyobrażenie o wyniku końcowym, możesz dodać umiejętność do swojego urządzenia Alexa tutaj lub możesz wyświetlić podgląd umiejętności w Storyline, jeśli twoje konto Alexa nie znajduje się w USA lub nie masz urządzenia Alexa.

Jeśli chcesz zbudować umiejętność Alexy, która czyta tweety, jest to stosunkowo łatwy sposób na zrobienie tego. Nie ma żadnego kodowania, jeśli po prostu używasz moich szablonów, ale jeśli chcesz zejść ze ścieżki, warto wiedzieć trochę o kodzie w ogóle, aw szczególności o strukturze wywołań JSON. Ale jeśli po prostu replikujesz tę umiejętność na innym koncie na Twitterze, nie będzie to wymagało umiejętności technicznych poza wycinaniem i wklejaniem.

Co będziesz potrzebował:

  • Urządzenie Alexa (lub konto z Echoism.io - świetnym wirtualnym symulatorem Alexy)
  • Konto programisty Alexa
  • Konto Google do tworzenia arkusza kalkulacyjnego za pomocą
  • Konto w Storyline
  • Konto z If This Then That (IFTTT)
  • Konto dropbox lub miejsce, w którym możesz przechowywać pliki mp3 na bezpiecznym serwerze

Wszystkie te konta są bezpłatne.

Nie będę zagłębiał się zbytnio w podstawy tworzenia umiejętności Storyline - na stronie są doskonałe samouczki do nauki tworzenia bloków, łączenia ich i rozgałęziania między warunkami. Ten samouczek skupi się na trzech rzeczach, których nauczyłem się budując tę umiejętność: uzyskanie efektu dźwiękowego MP3 w twoich umiejętnościach, łączenie treści Twittera za pośrednictwem IFTTT i Arkuszy Google oraz generowanie losowego tweeta z zestawu wstępnie utworzonych opcji.

(I wielkie podziękowania dla programisty Alexa Skill George'a Colliera, którego doskonały samouczek dotyczący integracji Twittera z Alexą dał mi początek).

Krok 1: Krok 1: Pomyśl o ogólnym przepływie swoich umiejętności

Krok 1: Pomyśl o ogólnym przebiegu swoich umiejętności
Krok 1: Pomyśl o ogólnym przebiegu swoich umiejętności

Fabuła to fantastyczny sposób na tworzenie umiejętności Alexa przy niewielkim lub zerowym kodowaniu. Możesz przeciągać i upuszczać bloki na miejsce oraz konfigurować połączenia i ścieżki między działaniami za pomocą łatwego do zrozumienia interfejsu graficznego. Jeśli kiedykolwiek korzystałeś z Yahoo Pipes, rozpoznasz interfejs.

Jedną z fajnych rzeczy w Storyline jest to, że dość łatwo jest nakłonić Alexę do wypowiedzenia wyników dowolnego zapytania JSON. Wydobywanie danych z arkusza kalkulacyjnego Google jest łatwe dzięki zapytaniom JSON. Umieszczanie tweetów w arkuszu kalkulacyjnym Google za pomocą Jeśli to niż to jest łatwe. Łatwo. Łatwo. Łatwo.

Uważam, że najlepiej jest po prostu zwizualizować swoje umiejętności w abstrakcie, zanim zaczniesz.

Kiedy pomyślałem o swoich umiejętnościach, wiedziałem, że głównym celem jest dostarczenie najnowszego tweeta. Ale mógłbym to ulepszyć za pomocą odrobiny projektowania dźwięku (Storyline pozwala na umiejętność odtwarzania dowolnego MP3), a jeden tweet może nie wystarczyć, aby dać ludziom posmak konta – mógłbym zgromadzić niektóre starsze tweety i pozwolić użytkownik usłyszy jeden z tych późniejszych. Więc mój szkic przepływu umiejętności może wyglądać tak:

  1. Powitaj użytkownika odrobiną tekstu mówionego i odpowiednim dźwiękiem wprowadzającym
  2. Przeczytaj najnowszy tweet
  3. Odtwórz charakterystyczny dźwięk
  4. Zapytaj użytkownika, czy chciałby usłyszeć starszego tweeta
    1. Tak? Przeczytaj starszy tweet.
    2. Odtwórz dźwięk podpisu
    3. Nie? Wyjdź z umiejętności.

Źródłem „Najnowszego tweeta” jest arkusz kalkulacyjny Google, zasilany przez skrypt If This Then That. Ten proces wygląda tak:

  1. JEŚLI pojawi się nowy tweet z konta @TweetOfGod, zostanie on skopiowany do arkusza kalkulacyjnego
  2. Jeśli tweet zawiera link lub obraz, arkusz kalkulacyjny odfiltruje je
  3. Jeśli tweet jest retweetem, arkusz kalkulacyjny odfiltruje go
  4. Tweety, które trafiają przez te dwa filtry, są następnie przetwarzane do czytania: # jest zastępowane słowem „Hashtag”, a kilka innych znaków jest zastępowanych czytelnymi odpowiednikami
  5. Ostatni tweet jest kopiowany do komórki „najnowszy tweet”, którą czyta Alex

Krok 2: Krok 2: Utwórz ładny blok powitalny z dźwiękiem wprowadzającym

Krok 2: Utwórz ładny blok powitalny z dźwiękiem wprowadzającym
Krok 2: Utwórz ładny blok powitalny z dźwiękiem wprowadzającym
Krok 2: Utwórz ładny blok powitalny z dźwiękiem wprowadzającym
Krok 2: Utwórz ładny blok powitalny z dźwiękiem wprowadzającym
Krok 2: Utwórz ładny blok powitalny z dźwiękiem wprowadzającym
Krok 2: Utwórz ładny blok powitalny z dźwiękiem wprowadzającym

Zanim Alexa przeczyta najnowszego tweeta, losowo generuję jeden z czterech humorystycznych, niebiańskich dźwięków. Są to pliki MP3, które zostały przetworzone dla Alexy według fabuły. Znalazłem swoje pliki MP3 na Freesound (i wszystko tam naprawdę jest darmowe, ale bądź przyzwoitym człowiekiem i zostaw napiwek).

  1. Pobierz MP3. Musi być krótszy niż 90 sekund. Alexa zwraca szczególną uwagę na format. Jeśli wiesz, że to MPEG w wersji 2 i 48kps, możesz pominąć następny krok. Ale jeśli nie wiesz lub jest to coś innego, łatwo jest przekonwertować.
  2. Prześlij go do Storyline w celu przetworzenia w konwerterze audio
  3. Hostuj pobrany dźwięk na serwerze

Jeśli w kroku 3 masz zamiar „ZROBIĆ CO TERAZ?” prawdopodobnie nie masz dostępu do serwera https, na którym możesz przechowywać swoje pliki. Nie martw się, możesz to zrobić za pomocą Dropbox. Będziesz potrzebować konta, ale znowu darmowe jest w porządku. Oto kroki:

  1. Wejdź na https://www.dropbox.com/h i zaloguj się na swoje konto.
  2. Kliknij przycisk Prześlij pliki
  3. Wybierz przekonwertowany plik mp3.
  4. Kliknij Udostępnij
  5. Kliknij Utwórz łącze i skopiuj łącze
  6. W skopiowanym linku zamień „dropbox” na „dl.dropboxusercontent” bez cudzysłowów
  7. Skopiuj ten adres URL

Przejdziesz teraz na dół bloku powitalnego i klikniesz ikonę nuty.

Wklej swój adres URL. Jeśli chcesz dodać losowe odmiany, powtórz proces dla kilku dodatkowych plików MP3 i kliknij menu Hamburger poniżej pola wklejania adresu URL.

Krok 3: Krok 3: Skonfiguruj IFTTT

Krok 3: Skonfiguruj IFTTT
Krok 3: Skonfiguruj IFTTT
  1. Przejdź do swojego konta IFTTT i wybierz „Utwórz nowy aplet”
  2. Wybierz TWITTER jako usługę IF.
  3. Wybierz „Nowy tweet określonego użytkownika jako wyzwalacz. Wpisz nazwę konta, które chcesz obserwować
  4. Wybierz „Arkusze Google” jako usługę TO
  5. Wybierz „Dodaj wiersz do arkusza kalkulacyjnego”
  6. W polu „Sformatowany wiersz” usuń wszystko oprócz pola {{TEKST}}.
  7. Stwórz swoje umiejętności.

Spowoduje to utworzenie nowego arkusza kalkulacyjnego i dodanie wiersza za każdym razem, gdy pojawi się nowy tweet. Możesz użyć pojedynczej komórki w arkuszu kalkulacyjnym i po prostu nadpisać jej zawartość za każdym razem. W takim przypadku w kroku 5 możesz wybrać opcję zapisu do pojedynczej komórki. Lubię rejestrować tweety, ponieważ okresowo przenoszę te, które nie są aktualne lub nie reagują na wiadomości, do arkusza kalkulacyjnego „Starsze tweety”. Pamiętaj, że jeśli wybierzesz tę opcję, będziesz musiał przeprowadzić pewne prace konserwacyjne na swoim arkuszu: nowy zostanie utworzony po 2000 wierszy.

Krok 4: Krok 4: Skonfiguruj swój arkusz Google

Krok 4: Skonfiguruj swój arkusz Google
Krok 4: Skonfiguruj swój arkusz Google
Krok 4: Skonfiguruj swój arkusz Google
Krok 4: Skonfiguruj swój arkusz Google
Krok 4: Skonfiguruj swój arkusz Google
Krok 4: Skonfiguruj swój arkusz Google

Ten Arkusz Google jest sercem tej konkretnej umiejętności, ponieważ odfiltrowuje tweety, które nie działają zbyt dobrze z Alexą (tweety, które odnoszą się na przykład do obrazów lub tweety z linkami) i znacznie zwiększają tweety tekstowe Alexa -przyjazny z kilkoma prostymi zamiennikami.

Pozwól, aby IFTT utworzył Twój arkusz kalkulacyjny z kilkoma wpisami – poczekaj więc, aż kilka tweetów z konta, które śledzisz, wyląduje tam, otwórz Arkusze Google i posortuj według czasu utworzenia. Na samej górze zobaczysz swój nowy, błyszczący arkusz kalkulacyjny. Teraz każdy nowy tweet będzie w nowym wierszu, więc chcemy utworzyć formułę, która odfiltruje tweety z linkami lub obrazami i przejdzie, aby znaleźć ostatni w kolumnie.

Możesz po prostu powielić tę kopię mojego arkusza kalkulacyjnego lub stworzyć własną, wykonując następujące czynności:

  1. Zmień nazwę karty zawierającej tweety „Na żywo z IFTTT”
  2. Dodaj kartę o nazwie „Przetwarzanie tweetów” do arkusza kalkulacyjnego
  3. Dodaj tę formułę do komórki A8 na karcie Przetwarzanie tweetów:

=ZAPYTANIE('Na żywo z IFTTT'!A3:A2000, "Wybierz A Gdzie nie A zawiera 'https'")

To ściąga wszystkie tweety, które nie mają linku, do kolumny A karty przetwarzania.

Teraz musimy znaleźć ostatni tweet w tej kolumnie. Wklej następującą formułę do komórki B7 karty przetwarzania:

=INDEKS(FILTR(A:A, NIE(CZY NIE(A:A))), WIERSZE(FILTR(A:A, NIE(NIE(A:A))))))

Teraz chcemy dokonać kilku zmian, aby ułatwić Alexie odczytanie tweeta. W rzeczywistości wszystkie mogą być jednym w formule jednokomórkowej, ale podzieliłem je dla jasności:

W wklejce Cell B6 na karcie Przetwarzanie:

=trim(regexreplace(B7, "#", "Hashtag "))

Spogląda na zawartość komórki poniżej i zastępuje znak # słowem „Hashtag”

W komórce B5 wklej następną iterację:

=trim(regexreplace(B6, "@", "w "))

Masz pomysł.

W wklejce Cell B4:

=trim(regexreplace(B6, "&", "i "))

W komórce B3:

=trim(regexreplace(B6, "%", "procent"))

W Cell B2 umieścimy nieco bardziej skomplikowaną formułę:

=ArrayFormula(REGEXREPLACE(B3, "([^A-Za-z0-9., !?:;''])", " "))

Ten po prostu pozbywa się WSZYSTKIEGO, co nie jest cyfrą, literą lub jednym z punktów interpunkcyjnych, które rozumie Alexa.

W Cell B1 po prostu skopiujemy ostatni tweet:

=indeks(B2)

To jest ostateczny tekst i możesz zaprogramować fabułę, aby przechwycić tę komórkę, jeśli znasz trochę JSON, ale aby uprościć sprawę na końcu fabuły, lubię skopiować zawartość do zakładki „Na żywo z IFTTT”, umieszczając to formuła w A2 w zakładce „Na żywo z IFTTT”:

='Centrum przetwarzania'!B1

Fajny. Teraz Twój arkusz kalkulacyjny jest skonfigurowany i gotowy do odczytania przez zapytanie Storyline JSON.

Krok 5: Krok 5: Skonfiguruj zapytanie JSON „Najnowszy tweet” w Storyline

Krok 5: Skonfiguruj swój
Krok 5: Skonfiguruj swój
Krok 5: Skonfiguruj swój
Krok 5: Skonfiguruj swój
Krok 5: Skonfiguruj swój
Krok 5: Skonfiguruj swój
  1. Przejdź do bloku powitalnego umiejętności fabuły i dodaj krok „Co mówi Alexa”.
  2. Dodaj wprowadzającą frazę, np. „Oto najnowszy tweet od TheTweetOfGod:”
  3. Użyj menu Hamburger, aby dodać wariacje
  4. Kliknij małą strzałkę w prawo i wybierz „Utwórz nowy blok”

Mój nowy blok nazwałem „Get God Tweet”. Zadanie polega na pobraniu najnowszego, przefiltrowanego tweeta z komórki arkusza kalkulacyjnego A2 na głównej karcie. Robisz to, pobierając dane za pomocą żądania JSON dostarczonego za pośrednictwem interfejsu API Arkuszy Google: to naprawdę nic więcej niż fantazyjny adres URL.

  1. Kliknij małą ikonę po prawej stronie nowego bloku, aby dodać żądanie JSON.
  2. Nazwij swoje żądanie API. Zadzwoniłem do mojego „GetGodTweet”
  3. Znajdź adres URL swojego arkusza kalkulacyjnego, wykonując następujące czynności:

    1. Kliknij Plik -> Opublikuj w Internecie w swoim arkuszu kalkulacyjnym.
    2. Użyj wartości domyślnych i po prostu kliknij „Opublikuj”
    3. Skopiuj adres URL i wklej go do pliku notatki.

Mój przykład to:

„https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/pubhtml” potrzebny jest identyfikator. Jest to bit pomiędzy /d/e a następnym znakiem /. Więc w tym przypadku:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Zamieniasz tę długą liczbę na bit w następującym adresie URL, który mówi „SPREASHEET_ID”:

„https://spreadsheets.google.com/feeds/list/SPREADSHEET_ID/od6/public/basic?alt=json”

  1. Teraz weź TEN adres URL i wklej go w polu adresu URL zapytania JSON w Storyline.
  2. Wybierz opcję „POBIERZ”
  3. Pozostaw pole „Nagłówki” puste
  4. W następnym polu utworzysz zmienną z zawartością komórki A2 na pierwszej karcie, wklejając tę formułę w:

tweet=api_response.feed.entry.0.title.$t

Zmienna nosi nazwę „tweet”. Kopiuje zawartość z podstawowej karty 0.

Teraz, jeśli dodasz blok „Alexa mówi” poniżej zapytania JSON i umieścisz tylko słowo {{tweet}} w nawiasach klamrowych, Alexa powie zawartość komórki. Upewnij się, że wielkość liter pasuje do zmiennej podanej w kroku 4!!!

Naciśnij przycisk GRAJ w Storyline i sprawdź swoje umiejętności! Jeśli otrzymasz słowo „Null”, oznacza to, że coś poszło nie tak z żądaniem API.

To naprawdę tyle, jeśli chodzi o podstawową umiejętność. Dodałem zabawny mały podpis dźwiękowy z innym MP3 i zapytałem, czy użytkownik chce usłyszeć starszy tweet. Następny krok pokazuje fajną sztuczkę do generowania losowego starszego tweeta, ale jest to lukier dla tych, którzy chcą nadać swoim umiejętnościom dodatkową użyteczność.

Krok 6: Opcjonalny dodatek: generowanie losowego wyniku z Arkuszy Google do przeczytania przez Alexę

Opcjonalny dodatek: generowanie losowego wyniku z Arkuszy Google do przeczytania przez Alexę
Opcjonalny dodatek: generowanie losowego wyniku z Arkuszy Google do przeczytania przez Alexę

Jeśli chcesz losowo wygenerować jeden z zestawu starszych tweetów, oto fajna sztuczka.

Utworzyłem trzecią kartę w moim arkuszu kalkulacyjnym o nazwie „Starsze tweety”. Wszystkie zajmują komórki A1-A36 w moim arkuszu kalkulacyjnym

  1. W Storyline utwórz nowy blok o nazwie „Oldertweets”
  2. Dodaj krok zapytania JSON
  3. Daj temu imię
  4. W polu URL użyj tego samego adresu URL interfejsu API, który utworzyłeś za pomocą identyfikatora arkusza kalkulacyjnego w kroku Ostatni tweet, z jedną odmianą:

    Zmień bit na końcu, który mówi /od6/basic/public na /3/basic/public - to wywołuje TAB 3 zamiast Tab 1

  5. Wybierz „POBIERZ”
  6. Pozostaw puste nagłówki
  7. W następnym polu wklej to:

oldtweet=api_response.feed.entry.losowy.title.$t

Utworzyłeś nową zmienną o nazwie „oldtweet” i to małe słowo „losowe” oznacza, że zmienna będzie się zmieniać przy każdym wywołaniu zapytania JSON.

Dodaj kolejny krok „Alexa mówi” i wstaw nową zmienną {{oldtweet}} z tymi nawiasami klamrowymi. Bum! Losowa dobroć!

Jeśli podobał Ci się ten Instructable, proszę, daj moim umiejętnościom kilka gwiazdek lub recenzję!

Zalecana: