Sisukord:

Alexa Skill: lugege viimast säutsu (antud juhul Jumala): 6 sammu
Alexa Skill: lugege viimast säutsu (antud juhul Jumala): 6 sammu

Video: Alexa Skill: lugege viimast säutsu (antud juhul Jumala): 6 sammu

Video: Alexa Skill: lugege viimast säutsu (antud juhul Jumala): 6 sammu
Video: Феномен Бруно Грёнинг – документальный фильм — ЧАСТЬ 3 2024, Mai
Anonim
Alexa Skill: lugege viimast säutsu (antud juhul Jumala)
Alexa Skill: lugege viimast säutsu (antud juhul Jumala)

Tegin Alexa oskuse lugeda "Jumala viimast säutsu" - sisu, st @TweetOfGod, endise Daily Show komöödiakirjaniku loodud 5 miljoni+ tellijakonto. See kasutab IFTTT-d (If This Then That), Google'i arvutustabelit ja uskumatult hõlpsasti kasutatavat Alexa Skill Builderit, Storyline'i.

Lõpptulemusest aimu saamiseks võite oskuse oma Alexa seadmesse lisada siin või saate selle oskuse eelvaate vaadata saidil Storyline, kui teie Alexa konto pole USA -s või teil pole Alexa seadet.

Kui soovite luua Alexa oskusi, mis loevad säutsusid, on see suhteliselt lihtne viis seda teha. Kui kasutate lihtsalt minu malle, ei kaasne kodeerimist, kuid kui soovite teelt kõrvale minna, aitab see natuke teada koodist üldiselt ja eriti sellest, kuidas JSON -kõned on üles ehitatud. Aga kui te lihtsalt kordate seda oskust mõne teise Twitteri konto jaoks, ei nõua see tehnilisi oskusi peale lõikamise ja kleepimise.

Mida vajate:

  • Alexa -seade (või konto Echoism.io -ga - suurepärane Alexa virtuaalne simulaator)
  • Alexa arendaja konto
  • Google'i konto arvutustabeli loomiseks
  • Konto Storyline'iga
  • Konto, kui see on siis see (IFTTT)
  • Dropboxi konto või koht, kus saate turvalises serveris mp3 -faile majutada

Kõik need kontod on tasuta.

Ma ei süvene väga põhjalikult Storyline'i oskuse loomise põhitõdede juurde - saidil on suurepärased õpetused plokkide loomiseks, nende ühendamiseks ja tingimuste vahel hargnemiseks. See õpetus keskendub kolmele asjale, mida selle oskuse arendamisel õppisin: MP3-heliefekti omandamine oma oskustes, twitteri sisu ühendamine IFTTT ja Google'i arvutustabelite kaudu ning juhusliku säutsu genereerimine eelnevalt loodud valikute hulgast.

(Ja suur hüüe Alexa oskuste arendajale George Collierile, kelle suurepärane õpetus twitteri Alexasse integreerimiseks aitas mul alustada.)

1. samm: 1. samm: mõelge oma oskuste üldisele voolule

Samm: mõelge oma oskuste üldisele voolule
Samm: mõelge oma oskuste üldisele voolule

Storyline on fantastiline viis Alexa oskuste loomiseks vähese või üldse kodeerimata. Saate hõlpsasti mõistetava graafilise liidese abil plokke oma kohale lohistada ning seadistada toimingute vahel ühendusi ja radu. Kui olete kunagi kasutanud Yahoo Pipesi, tunnete liidese ära.

Nüüd on üks Storyline'i lahedaid asju see, et see muudab Alexa üsna hõlpsaks rääkima mis tahes JSON -päringu tulemusi. Andmete hankimine Google'i arvutustabelist on JSON -päringute abil lihtne. Säutsude lisamine Google'i arvutustabelisse funktsiooni If If Than That abil on lihtne. Lihtne. Lihtne. Lihtne.

Leian, et enne alustamist on kõige parem visualiseerida kogu oma oskus abstraktselt.

Kui ma oma oskustele mõtlesin, teadsin, et selle peamine eesmärk on lihtsalt viimase säutsu edastamine. Kuid ma saaksin seda natuke helikujundusega täiustada (Storyline võimaldab teie oskustel mängida mis tahes MP3 -d) ja ühest säutsust ei pruugi piisata, et anda inimestele kontole maitse - ma võiksin varuda mõned vanemad säutsud ja lasta kasutaja kuuleb ühte neist hiljemalt. Nii et minu oskuste voo visand võiks välja näha järgmine:

  1. Tervitage kasutajat natuke kõneldava teksti ja sobiva sissejuhatava heliga
  2. Lugege viimast säutsu
  3. Esitage allkirjaheli
  4. Küsige kasutajalt, kas ta soovib kuulda vanemat säutsu

    1. Jah? Loe vanemat säutsu.
    2. Esitage allkirja heli
    3. Ei? Välju oskusest.

Viimase säutsu allikas on Google'i arvutustabel, mida toidab skript If This Then That. See protsess näeb välja selline:

  1. KUI @TweetOfGod kontolt tuleb uus säuts, kopeeritakse see arvutustabelisse
  2. Kui säuts sisaldab linki või pilti, filtreerib arvutustabel selle välja
  3. Kui säuts on retweet, siis arvutustabel filtreerib selle välja
  4. Nende kahe filtri abil saadetud säutsu töödeldakse seejärel lugemiseks: # asendatakse sõnaga "Hashtag" ja mitmed teised märgid loetavate ekvivalentidega
  5. Viimane säuts kopeeritakse lahtrisse "viimane säuts", mida Alex loeb

2. samm: 2. samm: looge sissejuhatava heliga kena tervitusplokk

Samm: looge sissejuhatava heliga kena tervitusplokk
Samm: looge sissejuhatava heliga kena tervitusplokk
Samm: looge sissejuhatava heliga kena tervitusplokk
Samm: looge sissejuhatava heliga kena tervitusplokk
Samm: looge sissejuhatava heliga kena tervitusplokk
Samm: looge sissejuhatava heliga kena tervitusplokk

Enne kui Alexa viimast säutsu loeb, genereerin juhuslikult ühe neljast humoorikast taevalikust helist. Need on MP3 -d, mida on Alexa jaoks süžee abil töödeldud. Leidsin oma MP3 -d Freesoundist (ja seal on tõesti kõik tasuta, aga ole korralik inimene ja jäta jootraha).

  1. Laadige oma MP3 alla. See peab kestma vähem kui 90 sekundit. Alexa on eriti formaadis. Kui teate, et see on MPEG versioon 2 ja 48 kps, võite järgmise sammu vahele jätta. Aga kui te ei tea või on midagi muud, on seda lihtne teisendada.
  2. Laadige see üles Storyline'ile nende helimuunduris töötlemiseks
  3. Hostige allalaaditud heli HTTPS -serveris

Kui sammus 3 olete valinud "TEE MIDA KOHE?" tõenäoliselt pole teil juurdepääsu https -serverile, kus saate oma faile majutada. Ärge muretsege, saate seda teha dropboxiga. Teil on vaja kontot, kuid jälle on tasuta konto hea. Siin on sammud:

  1. Minge aadressile https://www.dropbox.com/h ja logige oma kontole sisse.
  2. Klõpsake nuppu Laadi failid üles
  3. Valige teisendatud mp3 -fail.
  4. Klõpsake nuppu Jaga
  5. Klõpsake nuppu Loo link ja Kopeeri link
  6. Kopeeritud lingil asendage "dropbox" ilma jutumärkideta "dl.dropboxusercontent"
  7. Kopeerige see URL

Nüüd lähete oma tervitusploki alla ja klõpsate noodi ikoonil.

Kleepige oma URL. Kui soovite lisada juhuslikke variatsioone, korrake protsessi veel mõne MP3 jaoks ja klõpsake URL -i kleepimise kasti all olevat Hamburgeri menüüd.

3. samm: 3. samm: seadistage IFTTT

Samm: seadistage IFTTT
Samm: seadistage IFTTT
  1. Minge oma IFTTT kontole ja valige "Loo uus aplett"
  2. Valige IF -teenuseks TWITTER.
  3. Valige käivitajaks "Konkreetse kasutaja uus säuts. Sisestage konto nimi, mida soovite jälgida
  4. Valige teenuseks THEN teenus "Google'i arvutustabelid"
  5. Valige "Lisa rida arvutustabelisse"
  6. Eemaldage väljalt „Vormindatud rida” kõik, välja arvatud väli {{TEXT}}.
  7. Loo oma oskus.

See loob uue arvutustabeli ja lisab rea iga kord, kui uus säuts välja tuleb. Võib -olla eelistate kasutada arvutustabelis ühte lahtrit ja kirjutada selle sisu iga kord lihtsalt üle. Sel juhul saate 5. sammus valida ühe lahtrisse kirjutamise võimaluse. Mulle meeldib säutsude üle arvestust pidada, kuna teisaldan perioodiliselt need, mis ei ole aktuaalsed ega reageeri uudistele, arvutustabelisse „Vanemad säutsud”. Pidage meeles, et kui valite selle valiku, peate oma lehel veidi hooldama: pärast 2000 rida luuakse uus.

4. samm: 4. samm: seadistage oma Google'i leht

Samm: seadistage oma Google'i leht
Samm: seadistage oma Google'i leht
Samm: seadistage oma Google'i leht
Samm: seadistage oma Google'i leht
Samm: seadistage oma Google'i leht
Samm: seadistage oma Google'i leht

See Google'i leht on selle konkreetse oskuse süda, sest see filtreerib välja säutsud, mis ei tööta Alexaga eriti hästi (näiteks sätted, mis viitavad piltidele või lingidega säutsud), ja muudab ainult tekstiga säutsud palju Alexaks -sõbralik mõne lihtsa asendusega.

Laske IFTT -l mõne kirjega oma arvutustabel luua - nii et oodake, kuni teie jälgitav konto paar säutsu sinna jõuab, avage Google'i arvutustabelid ja sorteerige loodud aja järgi. Näete oma läikivat uut arvutustabelit otse üleval. Nüüd on iga uus säuts uues reas, seega tahame luua valemi, mis filtreerib välja lingid või pildid sisaldavad säutsud ja jookseb läbi, et leida veerust viimane.

Saate seda minu arvutustabeli koopiat lihtsalt kopeerida või koostada oma järgmiste toimingute abil:

  1. Nimetage vahekaart koos säutsudega ümber "Live from IFTTT"
  2. Lisage arvutustabelisse vahekaart nimega „Tweetide töötlemine”
  3. Lisage see valem vahekaardi Töötlemise sätted lahtrisse A8:

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

See tõmbab teie töötlemise vahekaardi A veergu kõik säutsud, millel pole linki.

Nüüd peame leidma selle veeru viimase säutsu. Kleepige töötlemise vahekaardi lahtrisse B7 järgmine valem:

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

Nüüd tahame teha mõned asendused, et muuta säuts Alexale lihtsamaks. Need võivad tegelikult kõik olla ühe raku valemis, kuid ma lõhkusin need selguse huvides:

Vahekaardi Töötlemine lahtrisse B6 tehke järgmist.

= kärpimine (regexreplace (B7, "#", "Hashtag"))

See vaatab alloleva lahtri sisu ja asendab märgi # sõnaga "Hashtag"

Lahtrisse B5 kleepige järgmine iteratsioon:

= kärpimine (regexreplace (B6, "@", "at"))

Saate ideest aru.

Lahtri B4 pasta:

= kärpimine (regexreplace (B6, "&", "ja"))

Lahtris B3:

= kärpimine (regexreplace (B6, "%", "protsenti"))

Lahtrisse B2 paigutame veidi keerulisema valemi:

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

See vabastab lihtsalt MIDAGI, mis ei ole number, täht ega üks kirjavahemärkidest, millest Alexa aru saab.

Lahtris B1 kopeerime lihtsalt viimase säutsu:

= indeks (B2)

See on lõplik tekst ja saate programmeerida süžee selle lahtri haaramiseks, kui teate natuke JSON -i, kuid et lugu oleks lihtsamaks tehtud, meeldib mulle sisu kopeerida vahekaardile „Live from IFTTT”, pannes selle valem A2 -s vahekaardil "IFTTT -st otseülekanne":

= 'Töötluskeskus'! B1

Groovy. Nüüd on teie arvutustabel seadistatud ja valmis lugemiseks Storyline JSON -i päringuga.

5. samm: 5. samm: seadistage oma „Viimase säutsu“JSON -päring loosarjas

Samm: seadistage oma
Samm: seadistage oma
Samm: seadistage oma
Samm: seadistage oma
Samm: seadistage oma
Samm: seadistage oma
  1. Minge oma süžeeoskuse tervitusplokki ja lisage samm "Mida Alexa ütleb".
  2. Lisage sissejuhatav fraas, näiteks "Siin on TheTweetOfGodi viimane säuts:"
  3. Variatsioonide lisamiseks kasutage Hamburgeri menüüd
  4. Klõpsake paremat noolt ja valige "Loo uus plokk"

Ma nimetasin oma uut plokki "Get God Tweet". Siin on ülesanne tuua uusim filtreeritud säuts esmase vahekaardi arvutustabeli lahtrist A2. Seda tehes saate andmed Google'i lehtede API kaudu edastatud JSON -päringuga: see pole tegelikult midagi muud kui väljamõeldud URL.

  1. JSON -i taotluse lisamiseks klõpsake uue ploki paremas servas väikest ikooni.
  2. Nimetage oma API taotlus. Ma nimetasin oma "GetGodTweet"
  3. Leidke arvutustabeli URL järgmiselt.

    1. Klõpsake arvutustabelis nuppu Fail -> Avalda veebis.
    2. Kasutage vaikeväärtusi ja klõpsake lihtsalt nuppu „Avalda”
    3. Kopeerige URL ja kleepige see märkmefaili.

Minu näide on:

https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUww-i dokumendi väljavõtte saamiseks. See on natuke /d /e ja järgmise /märgi vahel. Nii et sel juhul:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Vahetate selle pika numbri järgmise URL -i bitti vastu, mis ütleb "SPREASHEET_ID":

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

  1. Nüüd võtke see URL ja kleepige see Storyline'i JSON -päringu URL -i kasti.
  2. Valige suvand "GET"
  3. Jätke lahter "Päised" tühjaks
  4. Järgmises kastis loote esimese vahekaardi lahtri A2 sisuga muutuja, kleepides selle valemi järgmisse:

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

Muutuja nimi on "tweet". See kopeerib sisu esmaselt vahekaardilt 0.

Kui nüüd lisada JSON -päringu alla plokk „Alexa ütleb” ja panna lokkisulgudesse ainult sõna {{tweet}}, ütleb Alexa lahtri sisu. Veenduge, et juhtum vastaks muutujale, mille nimetasite sammus 4 !!!

Vajutage Storyline'il nuppu PLAY ja proovige oma oskusi! Kui saate sõna „null”, tähendab see, et teie API -taotlusega on midagi valesti läinud.

See on tõesti põhioskuste jaoks. Lisasin teise MP3 -ga naljaka väikese heliallkirja ja küsisin, kas kasutaja soovib kuulda vanemat säutsu. Järgmine samm näitab teile kena trikki juhusliku vanema säutsu genereerimiseks, kuid see on härmatis neile, kes soovivad oma oskustele lisakasutatavust juurde tuua.

6. samm: valikuline lisa: juhusliku tulemuse loomine Google'i arvutustabelitest Alexale lugemiseks

Valikuline lisa: juhusliku tulemuse loomine Google'i arvutustabelitest Alexale lugemiseks
Valikuline lisa: juhusliku tulemuse loomine Google'i arvutustabelitest Alexale lugemiseks

Kui soovite juhuslikult genereerida ühe vanemate säutsude komplekti, on siin suurepärane trikk.

Lõin oma arvutustabelisse kolmanda vahelehe nimega "Vanemad säutsud". Need kõik hõivavad minu arvutustabeli lahtrid A1-A36

  1. Looge Storyline'is uus plokk nimega "Oldertweets"
  2. Lisage JSON -päringu samm
  3. Anna sellele nimi
  4. Kasutage URL -i väljal sama API -URL -i, mille koostasite arvutustabeli ID -ga viimases säutsus ühe variatsiooniga:

    Muutke bit lõppu, mis ütleb/od6/basic/public väärtuseks/3/basic/public - see kutsub vahelehe 1 asemel TAB 3

  5. Valige "SAA"
  6. Jäta päised tühjaks
  7. Kleepige järgmisse kasti see:

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

Olete loonud uue muutuja nimega "oldtweet" ja see väike sõna "juhuslik" tähendab, et muutuja muutub iga kord, kui JSON -päringut kutsutakse.

Lisage veel üks samm „Alexa ütleb” ja sisestage uus muutuja {{oldtweet}} koos nende lokkisulgudega. Buum! Juhuslik jumal!

Kui teile see juhendamine meeldis, andke palun minu oskustele mõni täht või arvustus!

Soovitan: