Obsah:

Alexa Skill: Přečtěte si nejnovější tweet (v tomto případě boží): 6 kroků
Alexa Skill: Přečtěte si nejnovější tweet (v tomto případě boží): 6 kroků

Video: Alexa Skill: Přečtěte si nejnovější tweet (v tomto případě boží): 6 kroků

Video: Alexa Skill: Přečtěte si nejnovější tweet (v tomto případě boží): 6 kroků
Video: Iain McGilchrist Λ John Vervaeke: Bůh, bytí, význam 2024, Smět
Anonim
Alexa Skill: Přečtěte si nejnovější tweet (v tomto případě boží)
Alexa Skill: Přečtěte si nejnovější tweet (v tomto případě boží)

Vytvořil jsem Alexa Skill, abych přečetl „Boží nejnovější tweet“- obsah, tj. Z @TweetOfGod, účtu předplatitele 5 milionů+ vytvořeného bývalým spisovatelem komedií Daily Show. Používá IFTTT (If This Then That), tabulku Google a neuvěřitelně snadno použitelný Alexa Skill Builder, Storyline.

Chcete -li získat představu o konečném výsledku, můžete tuto dovednost přidat do svého zařízení Alexa zde, nebo si jeho dovednosti můžete prohlédnout v Storyline, pokud váš účet Alexa není v USA nebo nemáte zařízení Alexa.

Pokud chcete vybudovat dovednost Alexa, která čte tweety, je to poměrně snadný způsob, jak to udělat. Pokud používáte pouze moje šablony, není zapojeno žádné kódování, ale pokud chcete bloudit po cestě, pomůže vám to trochu vědět o kódu obecně a zejména o tom, jak jsou strukturována volání JSON. Pokud ale tuto dovednost pouze replikujete pro jiný účet Twitter, nebude to vyžadovat technické dovednosti nad rámec vyjmutí a vložení.

Co budete potřebovat:

  • Zařízení Alexa (nebo účet na Echoism.io - skvělý virtuální simulátor Alexa)
  • Účet vývojáře Alexa
  • Účet Google pro vytvoření tabulky
  • Účet s Storyline
  • Účet s If This Then That (IFTTT)
  • Účet Dropbox nebo místo, kde můžete hostovat soubory mp3 na zabezpečeném serveru

Všechny tyto účty jsou zdarma.

Nebudu se příliš rozepisovat o základech, jak vytvořit dovednost Storyline - na webu jsou vynikající návody, jak se naučit vytvářet bloky, propojovat je a větvit mezi podmínkami. Tento tutoriál se zaměří na tři věci, které jsem se naučil při budování této dovednosti: získání zvukového efektu MP3 do vaší dovednosti, propojení obsahu twitteru pomocí IFTTT a Google Sheets a jak vygenerovat náhodný tweet ze sady předem vytvořených možností.

(A velký výkřik na vývojáře Alexa Skill George Colliera, jehož skvělý návod, jak integrovat twitter do Alexa, mě začal.)

Krok 1: Krok 1: Zamyslete se nad celkovým tokem své dovednosti

Krok 1: Zamyslete se nad celkovým tokem své dovednosti
Krok 1: Zamyslete se nad celkovým tokem své dovednosti

Příběh je fantastický způsob, jak vytvářet dovednosti Alexa s malým nebo žádným kódováním. Pomocí snadno srozumitelného grafického rozhraní můžete bloky přetahovat na místo a nastavovat připojení a cesty mezi akcemi. Pokud jste někdy použili Yahoo Pipes, rozhraní poznáte.

Jednou z nejlepších věcí na Storyline je, že umožňuje poměrně snadno přimět Alexu, aby mluvila o výsledcích jakéhokoli dotazu JSON. Získání dat z tabulky Google je snadné pomocí dotazů JSON. Získání tweetů do tabulky Google pomocí aplikace If This Than That je snadné. Snadný. Snadný. Snadný.

Zjistil jsem, že je nejlepší si vizuálně představit celou svou dovednost abstraktně, než začnete.

Když jsem přemýšlel o své dovednosti, věděl jsem, že jejím primárním účelem bylo doručit nejnovější tweet. Ale mohl bych to vylepšit trochou zvukového designu (Storyline umožňuje vaší dovednosti přehrát jakýkoli MP3) a jeden tweet nemusí stačit na to, aby lidé získali příchuť účtu - mohl bych nahromadit některé starší tweety a nechat uživatel uslyší jeden z nich po posledním. Moje skica toku dovedností by tedy mohla vypadat takto:

  1. Přivítejte uživatele trochou mluveného textu a vhodným úvodním zvukem
  2. Přečtěte si nejnovější tweet
  3. Přehrajte podpisový zvuk
  4. Zeptejte se uživatele, zda by chtěl slyšet starší tweet

    1. Ano? Přečtěte si starší tweet.
    2. Přehrajte zvuk podpisu
    3. Ne? Ukončete dovednost.

Zdrojem „nejnovějšího tweetu“je tabulka Google, která je napájena skriptem If This Then That. Tento proces vypadá takto:

  1. POKUD existuje nový tweet z účtu @TweetOfGod, zkopíruje se do tabulky
  2. Pokud tweet obsahuje odkaz nebo obrázek, tabulka jej odfiltruje
  3. Pokud je tweet retweet, tabulka jej odfiltruje
  4. Tweety, které jsou získány těmito dvěma filtry, jsou poté zpracovány ke čtení: # je nahrazeno slovem „Hashtag“a několik dalších znaků je nahrazeno čitelnými ekvivalenty
  5. Poslední tweet je zkopírován do buňky „nejnovější tweet“, kterou Alex čte

Krok 2: Krok 2: Vytvořte pěkný uvítací blok s úvodním zvukem

Krok 2: Vytvořte pěkný uvítací blok s úvodním zvukem
Krok 2: Vytvořte pěkný uvítací blok s úvodním zvukem
Krok 2: Vytvořte pěkný uvítací blok s úvodním zvukem
Krok 2: Vytvořte pěkný uvítací blok s úvodním zvukem
Krok 2: Vytvořte pěkný uvítací blok s úvodním zvukem
Krok 2: Vytvořte pěkný uvítací blok s úvodním zvukem

Než Alexa přečte nejnovější tweet, náhodně vygeneruji jeden ze čtyř humorných nebeských zvuků. Jedná se o MP3, která byla zpracována pro Alexa příběhem. Našel jsem své MP3 na Freesound (A všechno tam je opravdu zdarma, ale buďte slušný člověk a zanechte tip).

  1. Stáhněte si MP3. Musí být kratší než 90 sekund. Alexa si dává záležet především na formátu. Pokud víte, že je to MPEG verze 2 a 48 kps, můžete další krok přeskočit. Pokud to ale nevíte nebo je to něco jiného, lze to snadno převést.
  2. Nahrajte jej do Storyline ke zpracování v jejich převaděči zvuku
  3. Hostujte svůj stažený zvuk na serveru

Pokud krok 3 povede „UDĚLEJTE CO NYNÍ?“pravděpodobně nemáte přístup k serveru https, na kterém můžete hostovat své soubory. Nebojte se, můžete to udělat s dropboxem. Budete potřebovat účet, ale opět platí, že bezplatný je v pořádku. Zde jsou kroky:

  1. Přejděte na https://www.dropbox.com/h a přihlaste se ke svému účtu.
  2. Klikněte na tlačítko Odeslat soubory
  3. Vyberte soubor mp3, který jste převedli.
  4. Klikněte na Sdílet
  5. Klikněte na Vytvořit odkaz a zkopírujte odkaz
  6. V odkazu, který jste zkopírovali, nahraďte „dropbox“výrazem „dl.dropboxusercontent“bez uvozovek
  7. Zkopírujte tuto adresu URL

Nyní přejdete do spodní části uvítacího bloku a kliknete na ikonu Hudební nota.

Vložte svou adresu URL. Pokud chcete přidat náhodné variace, opakujte postup pro několik dalších MP3 a klikněte na nabídku Hamburger pod polem pro vložení adresy URL.

Krok 3: Krok 3: Nastavení IFTTT

Krok 3: Nastavení IFTTT
Krok 3: Nastavení IFTTT
  1. Přejděte na svůj účet IFTTT a vyberte „Vytvořit nový applet“
  2. Jako službu IF vyberte TWITTER.
  3. Jako spouště vyberte „Nový tweet konkrétního uživatele. Vyplňte název účtu, který chcete sledovat
  4. Jako POTOM vyberte „Tabulky Google“
  5. Vyberte „Přidat řádek do tabulky“
  6. V poli „Formátovaný řádek“odeberte vše kromě pole {{TEXT}}.
  7. Vytvořte svou dovednost.

Tím se vytvoří nová tabulka a přidá řádek pokaždé, když vyjde nový tweet. Můžete dát přednost použití jedné buňky v tabulce a jednoduše přepsat její obsah pokaždé. V takovém případě v kroku 5 můžete vybrat možnost zápisu do jedné buňky. Rád si vedu záznamy o tweetech, protože pravidelně přesouvám ty, které nejsou aktuální nebo reagují na zprávy, do tabulky „Starší tweety“. Uvědomte si, že pokud zvolíte tuto možnost, budete muset na listu provést nějakou údržbu: po 2000 řádcích bude vytvořena nová.

Krok 4: Krok 4: Nastavte si Google Sheet

Krok 4: Nastavte si Google Sheet
Krok 4: Nastavte si Google Sheet
Krok 4: Nastavte si Google Sheet
Krok 4: Nastavte si Google Sheet
Krok 4: Nastavte si Google Sheet
Krok 4: Nastavte si Google Sheet

Tento Google Sheet je srdcem této konkrétní dovednosti, protože filtruje tweety, které s Alexou nefungují dobře (tweety, které odkazují například na obrázky, nebo tweety s odkazy), a díky tomu jsou tweety pouze pro text mnohem více Alexa -přátelský s několika jednoduchými náhradami.

Nechte IFTT vytvořit vaši tabulku s několika položkami - počkejte tedy, až se tam objeví několik tweetů z účtu, na kterém se vaše sledování nachází, otevřete Tabulky Google a řaďte podle vytvořeného času. Svou lesklou novou tabulku uvidíte přímo nahoře. Nyní bude každý nový tweet v novém řádku, takže chceme vytvořit vzorec, který bude filtrovat tweety, které mají odkazy nebo obrázky, a proběhne tak, aby našel poslední ve sloupci.

Tuto kopii mé tabulky můžete buď replikovat, nebo si můžete vytvořit vlastní pomocí následujících kroků:

  1. Přejmenujte kartu s tweety na ní „Živě z IFTTT“
  2. Přidejte do tabulky záložku s názvem „Zpracování tweetů“
  3. Přidejte tento vzorec do buňky A8 na kartě Zpracování tweetů:

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

Tím se stáhnou všechny tweety, které nemají odkaz, do sloupce A vaší karty zpracování.

Nyní musíme v tomto sloupci najít poslední tweet. Do buňky B7 karty zpracování vložte následující vzorec:

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

Nyní chceme provést několik výměn, aby bylo tweet pro Alexu snazší číst. Ve skutečnosti to mohou být všechny v jednom buňkovém vzorci, ale pro přehlednost jsem je rozdělil:

Vložit do buňky B6 na kartě Zpracování:

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

To se podívá na obsah buňky níže a nahradí znak # slovem „Hashtag“

Do buňky B5 vložte další iteraci:

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

Dostanete nápad.

Vložit do buňky B4:

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

V buňce B3:

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

Do buňky B2 umístíme o něco složitější vzorec:

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

Tenhle se jednoduše zbaví NIC, co není číslo, písmeno nebo jeden z interpunkčních bodů, kterým Alexa rozumí.

V buňce B1 jednoduše zkopírujeme závěrečný tweet:

= index (B2)

To je konečný text a můžete naprogramovat děj tak, aby tuto buňku uchopil, pokud znáte trochu JSON, ale aby to bylo na konci příběhu trochu jednodušší, rád zkopíruji obsah na kartu „Živě z IFTTT“vložením tohoto vzorec v A2 na kartě „Živě z IFTTT“:

= 'Centrum zpracování'! B1

Báječný. Nyní je vaše tabulka nastavena a připravena ke čtení pomocí dotazu Storyline JSON.

Krok 5: Krok 5: Nastavte si v příběhu svůj dotaz JSON „Nejnovější tweet“

Krok 5: Nastavte svůj
Krok 5: Nastavte svůj
Krok 5: Nastavte svůj
Krok 5: Nastavte svůj
Krok 5: Nastavte svůj
Krok 5: Nastavte svůj
  1. Přejděte na uvítací blok dovedností vašeho příběhu a přidejte krok „Co říká Alexa“.
  2. Přidejte úvodní frázi jako „Zde je nejnovější tweet od TheTweetOfGod:“
  3. K přidání variací použijte nabídku Hamburger
  4. Klikněte na malou šipku doprava a vyberte „Vytvořit nový blok“

Svůj nový blok jsem nazval „Get God Tweet“. Úkolem zde je načíst nejnovější, filtrovaný tweet z buňky tabulky A2 na primární kartě. Toho dosáhnete načtením dat pomocí požadavku JSON doručeného prostřednictvím rozhraní Google Sheets API: Ve skutečnosti nejde o nic jiného než o fantastickou adresu URL.

  1. Kliknutím na malou ikonu zcela vpravo na svém novém bloku přidáte požadavek JSON.
  2. Pojmenujte svůj požadavek API. Nazval jsem svůj „GetGodTweet“
  3. Adresu URL tabulky zjistíte takto:

    1. V tabulce klikněte na Soubor -> Publikovat na web.
    2. Použijte výchozí hodnoty a klikněte na „Publikovat“
    3. Zkopírujte adresu URL a vložte ji do souboru poznámky.

Můj příklad je:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/pubhtml" dlouhý řetězec vašeho dokumentu Je to bit mezi /d /e a dalším /charcterem. Takže v tomto případě:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Vyměníte to dlouhé číslo za bit na následující adrese URL, která říká „SPREASHEET_ID“:

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

  1. Nyní vezměte TUTU URL a vložte ji do pole URL dotazu JSON v Storyline.
  2. Vyberte možnost „ZÍSKAT“
  3. Ponechte pole „Záhlaví“prázdné
  4. V dalším poli vytvoříte proměnnou s obsahem buňky A2 vaší první karty vložením tohoto vzorce do:

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

Proměnná má název „tweet“. Zkopíruje obsah z primární karty 0.

Pokud nyní pod dotaz JSON přidáte blok „Alexa říká“a do složených závorek vložíte pouze slovo {{tweet}}, Alexa řekne obsah buňky. Ujistěte se, že případ odpovídá proměnné, kterou jste pojmenovali v kroku 4 !!!

Stiskněte tlačítko PLAY na Storyline a vyzkoušejte své dovednosti! Pokud se zobrazí slovo „Null“, znamená to, že se s vaším požadavkem API něco pokazilo.

To je k základní dovednosti opravdu všechno. Přidal jsem vtipný malý zvukový podpis s dalším MP3 a zeptal se, jestli chce uživatel slyšet starší tweet. Další krok vám ukazuje pěkný trik pro generování náhodného staršího tweetu, ale je to poleva pro ty, kteří chtějí přinést své dovednosti nějakou extra použitelnost.

Krok 6: Volitelné navíc: Generování náhodného výsledku z Tabulek Google pro čtení Alexa

Volitelné navíc: Generování náhodného výsledku z Tabulek Google pro čtení Alexa
Volitelné navíc: Generování náhodného výsledku z Tabulek Google pro čtení Alexa

Pokud chcete náhodně vygenerovat jeden ze sady starších tweetů, tady je šikovný trik.

V tabulce jsem vytvořil třetí kartu s názvem „Starší tweety“. Všechny tyto zabírají buňky A1-A36 v mé tabulce

  1. V Storyline vytvořte nový blok s názvem „Oldertweets“
  2. Přidejte krok dotazu JSON
  3. Pojmenujte to
  4. V poli Adresa URL použijte stejnou adresu URL API, kterou jste vytvořili pomocí ID tabulky v kroku Nejnovější tweet, s jednou variantou:

    Změňte bit na konci, který říká/od6/basic/public na/3/basic/public - toto volá TAB 3 místo Tab 1

  5. Vyberte „ZÍSKAT“
  6. Záhlaví nechte prázdné
  7. Do dalšího pole vložte toto:

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

Vytvořili jste novou proměnnou s názvem „oldtweet“a toto malé slovo „náhodné“znamená, že se proměnná změní při každém volání dotazu JSON.

Přidejte další krok „Alexa Says“a vložte svou novou proměnnou {{oldtweet}} s těmito složenými závorkami. Výložník! Náhodná dobrota!

Pokud se vám tento Instructable líbil, dejte mé dovednosti pár hvězdiček nebo recenzi!

Doporučuje: