Sisukord:
- 1. samm: 1. samm: mõelge oma oskuste üldisele voolule
- 2. samm: 2. samm: looge sissejuhatava heliga kena tervitusplokk
- 3. samm: 3. samm: seadistage IFTTT
- 4. samm: 4. samm: seadistage oma Google'i leht
- 5. samm: 5. samm: seadistage oma „Viimase säutsu“JSON -päring loosarjas
- 6. samm: valikuline lisa: juhusliku tulemuse loomine Google'i arvutustabelitest Alexale lugemiseks
Video: Alexa Skill: lugege viimast säutsu (antud juhul Jumala): 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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
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:
- Tervitage kasutajat natuke kõneldava teksti ja sobiva sissejuhatava heliga
- Lugege viimast säutsu
- Esitage allkirjaheli
-
Küsige kasutajalt, kas ta soovib kuulda vanemat säutsu
- Jah? Loe vanemat säutsu.
- Esitage allkirja heli
- 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:
- KUI @TweetOfGod kontolt tuleb uus säuts, kopeeritakse see arvutustabelisse
- Kui säuts sisaldab linki või pilti, filtreerib arvutustabel selle välja
- Kui säuts on retweet, siis arvutustabel filtreerib selle välja
- Nende kahe filtri abil saadetud säutsu töödeldakse seejärel lugemiseks: # asendatakse sõnaga "Hashtag" ja mitmed teised märgid loetavate ekvivalentidega
- Viimane säuts kopeeritakse lahtrisse "viimane säuts", mida Alex loeb
2. samm: 2. 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).
- 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.
- Laadige see üles Storyline'ile nende helimuunduris töötlemiseks
- 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:
- Minge aadressile https://www.dropbox.com/h ja logige oma kontole sisse.
- Klõpsake nuppu Laadi failid üles
- Valige teisendatud mp3 -fail.
- Klõpsake nuppu Jaga
- Klõpsake nuppu Loo link ja Kopeeri link
- Kopeeritud lingil asendage "dropbox" ilma jutumärkideta "dl.dropboxusercontent"
- 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
- Minge oma IFTTT kontole ja valige "Loo uus aplett"
- Valige IF -teenuseks TWITTER.
- Valige käivitajaks "Konkreetse kasutaja uus säuts. Sisestage konto nimi, mida soovite jälgida
- Valige teenuseks THEN teenus "Google'i arvutustabelid"
- Valige "Lisa rida arvutustabelisse"
- Eemaldage väljalt „Vormindatud rida” kõik, välja arvatud väli {{TEXT}}.
- 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
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:
- Nimetage vahekaart koos säutsudega ümber "Live from IFTTT"
- Lisage arvutustabelisse vahekaart nimega „Tweetide töötlemine”
- 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
- Minge oma süžeeoskuse tervitusplokki ja lisage samm "Mida Alexa ütleb".
- Lisage sissejuhatav fraas, näiteks "Siin on TheTweetOfGodi viimane säuts:"
- Variatsioonide lisamiseks kasutage Hamburgeri menüüd
- 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.
- JSON -i taotluse lisamiseks klõpsake uue ploki paremas servas väikest ikooni.
- Nimetage oma API taotlus. Ma nimetasin oma "GetGodTweet"
-
Leidke arvutustabeli URL järgmiselt.
- Klõpsake arvutustabelis nuppu Fail -> Avalda veebis.
- Kasutage vaikeväärtusi ja klõpsake lihtsalt nuppu „Avalda”
- 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"
- Nüüd võtke see URL ja kleepige see Storyline'i JSON -päringu URL -i kasti.
- Valige suvand "GET"
- Jätke lahter "Päised" tühjaks
- 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
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
- Looge Storyline'is uus plokk nimega "Oldertweets"
- Lisage JSON -päringu samm
- Anna sellele nimi
-
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
- Valige "SAA"
- Jäta päised tühjaks
- 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:
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles asjade kõnele: 5 sammu
Lugege elektri- ja gaasimõõturit (Belgia/hollandi keel) ja laadige üles ülespoole projekti käigus saame praegused andmed Belgia või Hollandi digitaalelektrilt
Magnetlüliti uksehäireandur, tavaliselt avatud, lihtne projekt, 100% töökorras, antud lähtekood: 3 sammu
Magnetlüliti uksehäireandur, tavaliselt avatud, lihtne projekt, 100% töökorras, lähtekood antud: Kirjeldus: Tere poisid, ma teen õpetuse MC-18 magnetlüliti anduri alarmi kohta, mis töötab tavaliselt avatud režiimis. Lüliti tüüp: NO (tavaline suletud tüüp), ahel on normaalselt avatud ja ahel on ühendatud, kui magnet on lähedal. Pilliroog
Lugege potentsiomeetritelt ADC väärtusi: 4 sammu
Lugege potentsiomeetrite ADC väärtusi: Selles artiklis näitan teile, kuidas lugeda potentsiomeetrilt ADC väärtusi. See on Arduino programmeerimise alus. mis loeb analoogväärtusi Arduino pakutava analoogpinna abil. lisaks potentsiile on olemas mitmeid andureid, mis
Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE): 4 sammu
Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE): Tere poisid! Täna esitlen teile Arduino projekti, mis töötab koos RTC kilbiga, mis suudab andmeid salvestada. Selle projekti peamine ülesanne on töötada mitme failiga, mis on salvestatud sc -kaardile. See projekt sisaldab koodi, mis töötab kolme failiga
Lugege kaugjuhtimispulti IR -anduri abil: 4 sammu
Lugege kaugjuhtimispulti IR -anduri abil: Tere, kõik Eelmises artiklis kirjutasin "IR -takistuste vältimise anduri" kasutamise kohta. Ja selles artiklis kirjutan selle IR -sensori teise funktsiooni. IR -takistuste vältimise anduril on 2 peamist osad, nimelt IR -kiirgur ja IR -vastuvõtja