Obsah:

Alexa Skill: Prečítajte si najnovší tweet (v tomto prípade božom): 6 krokov
Alexa Skill: Prečítajte si najnovší tweet (v tomto prípade božom): 6 krokov

Video: Alexa Skill: Prečítajte si najnovší tweet (v tomto prípade božom): 6 krokov

Video: Alexa Skill: Prečítajte si najnovší tweet (v tomto prípade božom): 6 krokov
Video: CS50 2014 – лекция Стива Балмера по CS50 2024, November
Anonim
Alexa Skill: Prečítajte si najnovší tweet (v tomto prípade Boží)
Alexa Skill: Prečítajte si najnovší tweet (v tomto prípade Boží)

Vytvoril som Alexa Skill, aby som prečítal „Boží najnovší tweet“- obsah, to znamená z @TweetOfGod, účtu predplatiteľa 5 miliónov a viac, ktorý vytvoril bývalý spisovateľ komédií Daily Show. Používa IFTTT (If This Then That), tabuľku Google a neuveriteľne ľahko použiteľný Alexa Skill Builder, Storyline.

Aby ste získali predstavu o konečnom výsledku, môžete túto zručnosť pridať do svojho zariadenia Alexa tu, alebo si môžete jeho zručnosť pozrieť v Storyline, ak váš účet Alexa nie je v USA alebo nemáte zariadenie Alexa.

Ak chcete vybudovať zručnosť Alexa, ktorá číta tweety, je to relatívne ľahký spôsob, ako to urobiť. Pokiaľ len použijete moje šablóny, nie je to zahrnuté v kódovaní, ale ak sa chcete túlať po ceste, pomôže vám to vedieť trochu o kóde vo všeobecnosti, a najmä o tom, ako sú štruktúrované hovory JSON. Ak však túto zručnosť len replikujete pre iný účet Twitter, nebude to vyžadovať technické znalosti nad rámec vystrihovania a vkladania.

Čo budete potrebovať:

  • Zariadenie Alexa (alebo účet na Echoism.io - skvelý virtuálny simulátor Alexa)
  • Účet vývojára Alexa
  • Účet Google na vytvorenie tabuľky s
  • Účet s Storyline
  • Účet s IFTTT (If This Then That)
  • Účet v schránke alebo miesto, kde môžete hostovať súbory mp3 na zabezpečenom serveri

Všetky tieto účty sú bezplatné.

Nebudem sa veľmi rozpisovať o základoch vytvorenia zručnosti príbehu - na webe sú k dispozícii vynikajúce návody na to, ako sa vytvárať bloky, spájať ich a vetviť medzi podmienkami. Tento tutoriál sa zameria na tri veci, ktoré som sa naučil pri budovaní tejto zručnosti: získanie zvukového efektu MP3 do vašich zručností, prepojenie obsahu twitteru prostredníctvom IFTTT a tabuliek Google a ako vygenerovať náhodný tweet zo sady vopred vytvorených možností.

(A veľký výkrik vývojárovi Alexa Skillovi Georgovi Collierovi, ktorého výborný návod, ako integrovať twitter do Alexa, ma začal.)

Krok 1: Krok 1: Zamyslite sa nad celkovým tokom svojich schopností

Krok 1: Zamyslite sa nad celkovým tokom svojich schopností
Krok 1: Zamyslite sa nad celkovým tokom svojich schopností

Dej je fantastický spôsob, ako vytvoriť zručnosti Alexa s malým alebo žiadnym kódovaním. Prostredníctvom ľahko zrozumiteľného grafického rozhrania môžete bloky presúvať a nastavovať pripojenia a cesty medzi akciami. Ak ste niekedy používali Yahoo Pipes, rozhranie poznáte.

Jednou z úžasných vecí na príbehu je, že je celkom jednoduché prinútiť Alexu, aby vyslovila výsledky akéhokoľvek dopytu JSON. Získanie údajov z tabuľky Google je jednoduché pomocou dopytov JSON. Získanie tweetov do tabuľky Google pomocou aplikácie If This Than That je jednoduché. Ľahko. Ľahko. Ľahko.

Zistil som, že je najlepšie vizuálne si predstaviť všetky svoje schopnosti abstraktne, než začnete.

Keď som premýšľal o svojich schopnostiach, vedel som, že primárnym účelom bolo doručiť najnovší tweet. Ale mohol by som to vylepšiť trochou zvukového dizajnu (Storyline dovoľuje vašim schopnostiam prehrať akékoľvek MP3) a jeden tweet nemusí stačiť na to, aby ľudia získali predstavu o účte - mohol by som si dať do zásoby niektoré zo starších tweetov a nechať ich používateľ po jednom z nich počuje. Moja skica toku zručností teda môže vyzerať takto:

  1. Privítajte používateľa trochou hovoreného textu a vhodným úvodným zvukom
  2. Prečítajte si najnovší tweet
  3. Prehrajte podpisový zvuk
  4. Opýtajte sa používateľa, či by chcel počuť starší tweet

    1. Áno? Prečítajte si starší tweet.
    2. Prehrajte podpisový zvuk
    3. Nie? Ukončite zručnosť.

Zdrojom „najnovšieho tweetu“je tabuľkový procesor Google, ktorý je napájaný skriptom If This Then That. Tento proces vyzerá asi takto:

  1. AK existuje nový tweet z účtu @TweetOfGod, skopíruje sa do tabuľky
  2. Ak tweet obsahuje odkaz alebo obrázok, tabuľka ho odfiltruje
  3. Ak je tweet retweet, tabuľka ho odfiltruje
  4. Tweety, ktoré sa dostanú k týmto dvom filtrom, sa potom spracujú na prečítanie: # sa nahradí slovom „Hashtag“a niekoľko ďalších znakov sa nahradí čitateľnými ekvivalentmi
  5. Posledný tweet sa skopíruje do bunky „najnovšieho tweetu“, ktorú Alex prečíta

Krok 2: Krok 2: Vytvorte príjemný uvítací blok s úvodným zvukom

Krok 2: Vytvorte príjemný uvítací blok s úvodným zvukom
Krok 2: Vytvorte príjemný uvítací blok s úvodným zvukom
Krok 2: Vytvorte príjemný uvítací blok s úvodným zvukom
Krok 2: Vytvorte príjemný uvítací blok s úvodným zvukom
Krok 2: Vytvorte príjemný uvítací blok s úvodným zvukom
Krok 2: Vytvorte príjemný uvítací blok s úvodným zvukom

Predtým, ako Alexa prečíta najnovší tweet, náhodne vygenerujem jeden zo štyroch humorných nebeských zvukov. Sú to MP3 súbory, ktoré boli pre Alexa spracované podľa príbehu. Našiel som svoje MP3 na Freesound (A všetko, čo tam je, je zadarmo, ale buďte slušným človekom a dajte tip).

  1. Stiahnite si MP3. Musí to byť menej ako 90 sekúnd. Alexa si dáva záležať najmä na formáte. Ak viete, že je to MPEG verzia 2, a 48 kps, môžete ďalší krok preskočiť. Ale ak neviete alebo je to niečo iné, je ľahké ho previesť.
  2. Nahrajte ho do Storyline na spracovanie v ich prevodníku zvuku
  3. Uložte si stiahnutý zvuk na server

Ak budete v kroku 3 pokračovať, urobte „ČO TERAZ?“Pravdepodobne nemáte prístup k serveru https, na ktorom môžete ukladať svoje súbory. Nebojte sa, môžete to urobiť pomocou schránky. Budete potrebovať účet, ale opäť platí, že bezplatný je v poriadku. Tu sú kroky:

  1. Prejdite na stránku https://www.dropbox.com/h a prihláste sa do svojho účtu.
  2. Kliknite na tlačidlo Odovzdať súbory
  3. Vyberte súbor mp3, ktorý ste skonvertovali.
  4. Kliknite na položku Zdieľať
  5. Kliknite na položku Vytvoriť odkaz a skopírujte odkaz
  6. V skopírovanom odkaze nahraďte „dropbox“výrazom „dl.dropboxusercontent“bez úvodzoviek
  7. Skopírujte túto adresu URL

Teraz prejdete do spodnej časti uvítacieho bloku a kliknete na ikonu Hudobná poznámka.

Vložte svoju adresu URL. Ak chcete pridať náhodné variácie, zopakujte postup pre niekoľko ďalších MP3 a kliknite na ponuku Hamburger pod poľom na vloženie adresy URL.

Krok 3: Krok 3: Nastavte IFTTT

Krok 3: Nastavte IFTTT
Krok 3: Nastavte IFTTT
  1. Prejdite na svoj účet IFTTT a zvoľte „Vytvoriť nový applet“
  2. Ako službu IF zvoľte TWITTER.
  3. Vyberte „Nový tweet od konkrétneho používateľa ako spúšťač. Vyplňte názov účtu, ktorý chcete sledovať
  4. Ako POTOM zvoľte „Tabuľky Google“
  5. Vyberte „Pridať riadok do tabuľky“
  6. V poli „Formátovaný riadok“odstráňte všetko okrem poľa {{TEXT}}.
  7. Vytvorte si svoju zručnosť.

Vytvorí sa nová tabuľka a pridá sa riadok vždy, keď vyjde nový tweet. Môžete vo svojej tabuľke použiť jednu bunku a vždy jednoducho prepísať jej obsah. V takom prípade v kroku 5 môžete vybrať možnosť zápisu do jednej bunky. Rád si uchovávam záznamy o tweetoch, pretože pravidelne presúvam tie, ktoré nie sú aktuálne alebo reagujú na správy, do tabuľky „Staršie tweety“. Uvedomte si, že ak zvolíte túto možnosť, budete musieť na hárku vykonať určitú údržbu: po 2 000 riadkoch sa vytvorí nový.

Krok 4: Krok 4: Nastavte si svoju tabuľku Google

Krok 4: Nastavte si svoju tabuľku Google
Krok 4: Nastavte si svoju tabuľku Google
Krok 4: Nastavte si svoju tabuľku Google
Krok 4: Nastavte si svoju tabuľku Google
Krok 4: Nastavte si svoju tabuľku Google
Krok 4: Nastavte si svoju tabuľku Google

Tento hárok Google je jadrom tejto konkrétnej zručnosti, pretože filtruje tweety, ktoré s Alexou nefungujú správne (tweety, ktoré odkazujú napríklad na obrázky, alebo tweety s odkazmi), a vďaka nemu sú tweety iba s textom oveľa viac, alexa -priateľský s niekoľkými jednoduchými náhradami.

Nechajte IFTT vytvoriť vašu tabuľku s niekoľkými položkami - počkajte, kým sa tam zobrazí niekoľko tweetov z účtu, ktorý sledujete, otvorte Tabuľky Google a zoraďte podľa času vytvorenia. Vašu lesklú novú tabuľku uvidíte úplne navrchu. Teraz bude každý nový tweet v novom riadku, takže chceme vytvoriť vzorec, ktorý bude filtrovať tweety, ktoré majú odkazy alebo obrázky, a prejde ním, aby našiel posledný v stĺpci.

Túto kópiu mojej tabuľky môžete buď replikovať, alebo si môžete vytvoriť vlastnú podľa nasledujúcich krokov:

  1. Premenujte kartu s tweetmi na nej „Živo z IFTTT“
  2. Pridajte do tabuľky kartu s názvom „Spracovanie tweetov“
  3. Pridajte tento vzorec do bunky A8 na karte Spracovanie tweetov:

= QUERY ('Live from IFTTT'! A3: A2000, "Select A where not A contains 'https'")

Tým sa stiahnu všetky tweety, ktoré nemajú odkaz, do stĺpca A na karte spracovania.

Teraz musíme nájsť posledný tweet v tomto stĺpci. Do bunky B7 na karte spracovania prilepte nasledujúci vzorec:

= INDEX (FILTER (A: A, NOT (ISBLANK (A: A)))

Teraz chceme urobiť niekoľko náhrad, aby sme tweetu uľahčili čítanie pre Alexa. V skutočnosti to môžu byť všetky v jednom bunkovom vzorci, ale kvôli prehľadnosti som ich rozdelil:

Vložiť do bunky B6 na karte Spracovanie:

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

Zistí sa obsah bunky nižšie a znak # sa nahradí slovom „Hashtag“

Do bunky B5 prilepte nasledujúcu iteráciu:

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

Dostanete nápad.

Vložiť do bunky B4:

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

V bunke B3:

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

V bunke B2 umiestnime trochu komplikovanejší vzorec:

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

Tento sa jednoducho zbaví NIEČOHO, čo nie je číslo, písmeno alebo jeden z interpunkčných bodov, ktorým Alexa rozumie.

V bunke B1 jednoducho skopírujeme posledný tweet:

= index (B2)

Toto je konečný text a môžete naprogramovať dej tak, aby zachytil túto bunku, ak poznáte trochu JSON, ale aby to bolo na konci príbehu trochu jednoduchšie, rád skopírujem obsah na kartu „Live from IFTTT“vložením tohto vzorec v A2 na karte „Živo z IFTTT“:

= 'Stredisko spracovania'! B1

Groovy. Teraz je vaša tabuľka pripravená a pripravená na čítanie v dotaze JSON Storyline.

Krok 5: Krok 5: Nastavte si v príbehu svoj dopyt JSON „Najnovší tweet“

Krok 5: Nastavte si svoje
Krok 5: Nastavte si svoje
Krok 5: Nastavte si svoje
Krok 5: Nastavte si svoje
Krok 5: Nastavte si svoje
Krok 5: Nastavte si svoje
  1. Prejdite na uvítací blok zručnosti svojho príbehu a pridajte krok „Čo hovorí Alexa“.
  2. Pridajte úvodnú frázu ako „Tu je najnovší tweet od TheTweetOfGod:“
  3. Na pridanie variácií použite ponuku Hamburger
  4. Kliknite na malú šípku doprava a zvoľte „Vytvoriť nový blok“

Svoj nový blok som nazval „Get God Tweet“. Úlohou tu je načítať najnovší filtrovaný tweet z bunky A2 tabuľky na primárnej karte. Vykonáte to načítaním údajov pomocou žiadosti JSON doručenej prostredníctvom rozhrania Google Sheets API: Nie je to nič iné ako efektná adresa URL.

  1. Kliknutím na malú ikonu úplne vpravo vo svojom novom bloku pridajte požiadavku JSON.
  2. Pomenujte svoju požiadavku na API. Nazval som ten svoj „GetGodTweet“
  3. URL adresu tabuľky zistíte takto:

    1. V tabuľke kliknite na položku Súbor -> Publikovať na web.
    2. Použite predvolené hodnoty a kliknite na tlačidlo „Publikovať“
    3. Skopírujte adresu URL a prilepte ju do súboru s poznámkou.

Môj príklad je:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/pubhtml" dlhý reťazec dokumentu, ktorý potrebujete Je to kúsok medzi /d /e a nasledujúcim /charterom. Takže v tomto prípade:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Toto dlhé číslo zameníte za bit na nasledujúcej adrese URL s nápisom „SPREASHEET_ID“:

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

  1. Teraz vezmite TÚTO adresu URL a prilepte ju do poľa pre adresu URL dopytu JSON v príbehu.
  2. Vyberte možnosť „ZÍSKAŤ“
  3. Pole „Hlavičky“nechajte prázdne
  4. V nasledujúcom poli vytvoríte premennú s obsahom bunky A2 vašej prvej karty vložením tohto vzorca do:

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

Premenná má názov „tweet“. Skopíruje sa obsah z primárnej karty 0.

Teraz, keď pod svoj dopyt JSON pridáte blok „Alexa hovorí“a do zložených zátvoriek vložíte iba slovo {{tweet}}, Alexa povie obsah bunky. Zaistite, aby sa veľkosť písmena zhodovala s premennou, ktorú ste pomenovali v kroku 4 !!!

Stlačte tlačidlo HRAŤ na príbehu a vyskúšajte si svoje schopnosti! Ak sa zobrazí slovo „Null“, znamená to, že sa vo vašej požiadavke na API niečo pokazilo.

To je k základnej zručnosti skutočne všetko. Pridal som zábavný malý zvukový podpis k ďalšiemu MP3 a spýtal som sa, či chce používateľ počuť starší tweet. Ďalší krok vám ukazuje pekný trik na generovanie náhodného staršieho tweetu, ale je to poleva pre tých, ktorí chcú priniesť svojim schopnostiam extra použiteľnosť.

Krok 6: Voliteľné navyše: Generovanie náhodného výsledku z Tabuliek Google na čítanie pre Alexa

Voliteľné navyše: Generovanie náhodného výsledku z Tabuliek Google na čítanie pre Alexa
Voliteľné navyše: Generovanie náhodného výsledku z Tabuliek Google na čítanie pre Alexa

Ak chcete náhodne vygenerovať jeden zo sady starších tweetov, tu je šikovný trik.

V tabuľke som vytvoril tretiu kartu s názvom „Staršie tweety“. Tieto všetky zaberajú bunky A1-A36 v mojej tabuľke

  1. V príbehu vytvorte nový blok s názvom „Oldertweets“
  2. Pridajte krok dopytu JSON
  3. Daj tomu meno
  4. V poli Adresa URL použite rovnakú adresu URL rozhrania API, akú ste vytvorili pomocou ID tabuľky v kroku Najnovší tweet, s jednou variáciou:

    Zmeňte bit na konci, ktorý hovorí/od6/basic/public na/3/basic/public - toto volá TAB 3 namiesto karty 1

  5. Vyberte „ZÍSKAŤ“
  6. Hlavičky nechajte prázdne
  7. Do nasledujúceho poľa prilepte toto:

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

Vytvorili ste novú premennú s názvom „oldtweet“a toto malé slovo „náhodné“znamená, že premenná sa zmení vždy, keď zavoláte dotaz JSON.

Pridajte ďalší krok „Alexa Says“a vložte svoju novú premennú {{oldtweet}} s týmito zloženými zátvorkami. Bum! Náhodná dobrota!

Ak sa vám tento Instructable páčil, dajte mojej zručnosti pár hviezdičiek alebo recenziu!

Odporúča: