Tartalomjegyzék:
- 1. lépés: 1. lépés: Gondolja át készségeinek általános áramlását
- 2. lépés: 2. lépés: Hozzon létre egy szép üdvözlő blokkot bevezető hanggal
- 3. lépés: 3. lépés: Az IFTTT beállítása
- 4. lépés: 4. lépés: Állítsa be a Google -táblázatot
- 5. lépés: 5. lépés: Állítsa be a "Legutóbbi tweet" JSON -lekérdezést a Storyline -ban
- 6. lépés: Választható extra: Véletlen eredmény létrehozása a Google Táblázatokból az Alexa számára az olvasáshoz
Videó: Alexa Skill: Olvassa el a legújabb tweetet (ebben az esetben Isten): 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Készítettem egy Alexa -készséget, hogy elolvashassam "Isten legújabb tweetjét" - a tartalmat, vagyis a @TweetOfGod -tól, az 5 millió feletti előfizetői fiókot, amelyet egy korábbi Daily Show vígjáték -író hozott létre. IFTTT-t (If This Then That), Google-táblázatot és a hihetetlenül könnyen használható Alexa Skill Builder-t, a Storyline-t használja.
Ha képet szeretne kapni a végeredményről, itt hozzáadhatja a készséget az Alexa -eszközéhez, vagy megtekintheti a készség előnézetét a Storyline -on, ha Alexa -fiókja nem az Egyesült Államokban található, vagy nincs Alexa -eszköze.
Ha olyan tweeteket olvasó Alexa készséget szeretne felépíteni, akkor ez viszonylag egyszerű módja. Nincs kódolás, ha csak a sablonjaimat használja, de ha el akar térni az útról, segít, ha egy kicsit ismeri a kódot általában és különösen a JSON hívások felépítését. De ha csak megismétli ezt a készséget egy másik Twitter -fiókhoz, akkor a kivágáson és beillesztésen túl nem lesz szükség műszaki ismeretekre.
Amire szüksége lesz:
- Egy Alexa eszköz (vagy egy fiók az Echoism.io segítségével - egy nagyszerű Alexa virtuális szimulátor)
- Alexa fejlesztői fiók
- Google -fiók, amellyel táblázatot készíthet
- Fiók a Storyline -nál
- Egy fiók, ha ez ez, akkor (IFTTT)
- Dropbox fiók vagy egy hely, ahol biztonságos fájlokon tárolhat mp3 fájlokat
Mindezek a fiókok ingyenesek.
Nem részletezem a Storyline készség létrehozásának alapjait - az oldalon kiváló oktatóanyagok találhatók a blokkok létrehozásának, összekapcsolásának és a feltételek közötti elágazásnak megtanulásáról. Ez az oktatóanyag három dologra fog összpontosítani, amelyeket megtanultam ennek a készségnek az építésénél: MP3 hanghatás beillesztése a készségbe, twitter tartalom összekapcsolása az IFTTT és a Google Táblázatok segítségével, valamint hogyan hozhat létre véletlenszerű tweetet az előre létrehozott lehetőségekből.
(És nagy kiáltás George Collier Alexa Skill fejlesztőnek, akinek kitűnő bemutatója a twitter Alexa -ba való integrálásáról elindított.)
1. lépés: 1. lépés: Gondolja át készségeinek általános áramlását
A Storyline fantasztikus módja annak, hogy kevés vagy semmilyen kódolás nélkül megteremtse Alexa készségeit. A blokkokat a helyére húzhatja, és kapcsolatokat és útvonalakat állíthat be a műveletek között egy könnyen érthető grafikus felületen keresztül. Ha valaha is használta a Yahoo Pipes programot, felismeri a kezelőfelületet.
A Storyline -ban az egyik klassz dolog az, hogy meglehetősen egyszerűvé teszi Alexát arra, hogy bármely JSON -lekérdezés eredményét elmondja. A JSON -lekérdezések segítségével egyszerűen lekérheti az adatokat a Google -táblázatból. A tweetek beillesztése a Google táblázatba, ha ez még egyszerű. Könnyen. Könnyen. Könnyen.
Úgy gondolom, hogy a legjobb, ha a képességeit csak elvontan vizualizálja, mielőtt elkezdené.
Amikor a képességeimre gondoltam, tudtam, hogy elsődleges célja a legfrissebb tweet közzététele. De ezt javíthatnám egy kis hangtervezéssel (a Storyline lehetővé teszi, hogy bármilyen MP3 -t lejátsszon), és lehet, hogy egy tweet nem elegendő ahhoz, hogy az emberek ízelítőt kapjanak a fiókból - elraktározhatnék néhány régebbi tweetet, és a felhasználó hall egyet ezek közül a legkésőbb. Tehát a képességem vázlata így nézhet ki:
- Üdvözölje a felhasználót egy kis beszélt szöveggel és megfelelő bevezető hanggal
- Olvassa el a legújabb tweetet
- Játssz aláírás hangot
-
Kérdezze meg a felhasználót, hogy szeretne -e régebbi tweetet hallani
- Igen? Olvass el egy régebbi tweetet.
- Játssza le az aláírás hangját
- Nem? Lépjen ki a készségből.
A "Legújabb tweet" forrása egy Google -táblázat, amelyet egy If This Then That szkript táplál. Ez a folyamat így néz ki:
- HA új tweet érkezik a @TweetOfGod fiókból, akkor azt a táblázatba másolja
- Ha a tweet tartalmaz linket vagy képet, a táblázat kiszűri azt
- Ha a tweet retweet, a táblázat kiszűri
- A két szűrő által kapott tweeteket ezután olvasásra dolgozzák fel: a # helyébe a "Hashtag" szó lép, és számos más karakter olvasható megfelelőkkel
- Az utolsó tweetet átmásoljuk a "legújabb tweet" cellába, amelyet Alex olvas
2. lépés: 2. lépés: Hozzon létre egy szép üdvözlő blokkot bevezető hanggal
Mielőtt Alexa elolvassa a legújabb tweetet, véletlenszerűen generálok egyet a négy humoros mennyei hang közül. Ezek olyan MP3 -ok, amelyeket az Alexa számára feldolgozott a történet. Megtaláltam az MP3 -omat a Freesound -on (És ott tényleg minden ingyenes, de légy tisztességes ember és hagyj borravalót).
- Töltse le MP3 -ját. 90 másodpercnél rövidebbnek kell lennie. Alexa különösen a formátumra vonatkozik. Ha tudja, hogy az MPEG 2. verziója és 48 kps, akkor kihagyhatja a következő lépést. De ha nem tudja, vagy valami más, akkor könnyen konvertálható.
- Töltse fel a Storyline -ba feldolgozásra az Audio Converter segítségével
- A letöltött hangot HTTPS -kiszolgálón tárolja
Ha a 3. lépésben "MIT TESZ MOST?" valószínűleg nincs hozzáférése egy https szerverhez, amelyen a fájlokat tárolhatja. Ne aggódjon, ezt megteheti a dropbox segítségével. Szüksége lesz egy fiókra, de megint egy ingyenes. Íme a lépések:
- Lépjen a https://www.dropbox.com/h oldalra, és jelentkezzen be fiókjába.
- Kattintson a Fájlok feltöltése gombra
- Válassza ki az átalakított mp3 fájlt.
- Kattintson a Megosztás gombra
- Kattintson a Hivatkozás létrehozása és a Másolás linkre
- A másolt linken cserélje le a „dropboxot” a „dl.dropboxusercontent” kifejezésre idézőjelek nélkül
- Másolja az URL -t
Most az üdvözlőblokk aljára lép, és kattintson a Hangjegy ikonra.
Illessze be az URL -t. Ha véletlen variációkat szeretne hozzáadni, ismételje meg az eljárást még néhány MP3 esetében, és kattintson az Hamburger menüre az URL beillesztése mező alatt.
3. lépés: 3. lépés: Az IFTTT beállítása
- Nyissa meg IFTTT -fiókját, és válassza az "Új kisalkalmazás létrehozása" lehetőséget
- Válassza a TWITTER lehetőséget IF szolgáltatásként.
- Válassza ki az "Új tweetet adott felhasználó által, mint kiváltó elemet. Töltse ki a követni kívánt fiók nevét
- Válassza ki a "Google Táblázatok" szolgáltatást AKKOR
- Válassza a "Sor hozzáadása a táblázathoz" lehetőséget
- A „Formázott sor” mezőben távolítson el mindent, kivéve a {{TEXT}} mezőt.
- Teremtse készségét.
Ez új táblázatot hoz létre, és egy sort ad hozzá minden alkalommal, amikor új tweet jelenik meg. Lehet, hogy inkább egyetlen cellát használ a táblázatban, és minden alkalommal egyszerűen felülírja annak tartalmát. Ebben az esetben az 5. lépésben kiválaszthatja azt a lehetőséget, hogy egyetlen cellába írjon. Szeretek nyilvántartást vezetni a tweetekről, mivel rendszeresen áthelyezem azokat, amelyek nem aktuálisak, vagy reagálnak a hírekre, egy "Régebbi tweetek" táblázatba. Ne feledje, hogy ha ezt az opciót választja, akkor karbantartást kell végeznie a lapon: 2000 sor után újat hoz létre.
4. lépés: 4. lépés: Állítsa be a Google -táblázatot
Ez a Google-táblázat ennek a különleges készségnek a szíve, mert kiszűri azokat a tweeteket, amelyek nem igazán működnek együtt Alexával (például a képekre utaló tweetek vagy a linkekkel ellátott tweetek), és sokkal inkább csak szöveges tweeteket készít Alexa-tól -barátságos néhány egyszerű cserével.
Hagyja, hogy az IFTT néhány bejegyzéssel hozza létre a táblázatot - így csak várjon, amíg a nyomon követett fiók néhány tweetje odaér, nyissa meg a Google Táblázatokat, és rendezze a létrehozás ideje szerint. Látni fogja a fényes új táblázatot a tetején. Most minden új tweet új sorban lesz, ezért olyan képletet szeretnénk létrehozni, amely kiszűri a linkeket vagy képeket tartalmazó tweeteket, és végigfut, hogy megtalálja az utolsóat az oszlopban.
Egyszerűen megismételheti a táblázatom ezen példányát, vagy elkészítheti sajátját a következő lépésekkel:
- Nevezze át a lapot tweetekkel: "Élőben az IFTTT -ből"
- Adjon hozzá egy "Tweetek feldolgozása" nevű lapot a táblázathoz
- Adja hozzá ezt a képletet a Processing Tweets lap A8 cellájához:
= QUERY ('Live from IFTTT'! A3: A2000, "Select A Where not A tartalmaz" https "-et)
Ez minden linket nem tartalmazó tweetet a feldolgozás lap A oszlopába húz.
Most meg kell találnunk az utolsó tweetet ebben az oszlopban. Illessze be a következő képletet a feldolgozás lap B7 cellájába:
= INDEX (SZŰRŐ (A: A, NEM (ISBLANK (A: A)))), SOROK (SZŰRÉS (A: A, NEM (ISBLANK (A: A))))))
Most szeretnénk néhány cserét elvégezni, hogy Alexa könnyebben olvashassa a tweetet. Ezek valójában mind egy cellás képletben lehetnek, de az egyértelműség kedvéért felbontottam őket:
A Feldolgozás lap B6 cella beillesztésében:
= trim (regexreplace (B7, "#", "Hashtag"))
Ez megnézi az alábbi cella tartalmát, és a # jelet a "Hashtag" szóval helyettesíti
A B5 cellába illessze be a következő iterációt:
= trim (regexreplace (B6, "@", "at"))
Érted az ötletet.
A B4 cella paszta:
= trim (regexreplace (B6, "&", "és"))
A B3 cellában:
= trim (regexreplace (B6, "%", "percent"))
A B2 cellában egy kicsit bonyolultabb képletet fogunk elhelyezni:
= ArrayFormula (REGEXREPLACE (B3, "([^A-Za-z0-9.,!?:; '’]) "," "))
Ez egyszerűen megszabadul MINDENTŐL, ami nem szám, betű vagy az egyik írásjel, amelyet Alexa megért.
A B1 cellában egyszerűen lemásoljuk az utolsó tweetet:
= index (B2)
Ez a végső szöveg, és ha a JSON -t ismeri, programozhatja a sztorit, hogy megragadja a cellát, de hogy a történet végén egy kicsit egyszerűbb legyen a dolog, szeretem bemásolni a tartalmat az "Élőben az IFTTT -ről" fülre. képlet az A2 -ben az "Élőben az IFTTT -ről" lapon:
= 'Feldolgozó központ'! B1
Groovy. Most már elkészítette a táblázatot, és készen áll a Storyline JSON lekérdezés elolvasására.
5. lépés: 5. lépés: Állítsa be a "Legutóbbi tweet" JSON -lekérdezést a Storyline -ban
- Lépjen a történetvezetői készség üdvözlő blokkjához, és adjon hozzá egy "Amit Alexa mond" lépést.
- Adjon hozzá egy bevezető kifejezést, például "Itt a TheTweetOfGod legújabb tweetje:"
- A Hamburger menü segítségével adhat hozzá változatokat
- Kattintson a jobbra mutató nyílra, és válassza az "Új blokk létrehozása" lehetőséget
Az új blokkomat "Get God Tweet" -nek hívtam. A feladat az, hogy lekérjük a legfrissebb, szűrt tweetet az elsődleges lap A2 táblázatcellájából. Ezt úgy teheti meg, hogy lekéri az adatokat a Google Táblázatok API -n keresztül küldött JSON -kéréssel: Ez valójában nem más, mint egy divatos URL.
- Kattintson az új blokk jobb szélén található kis ikonra JSON -kérelem hozzáadásához.
- Nevezze el API -kérését. Az enyémet "GetGodTweet" -nek hívtam
-
Keresse meg táblázatának URL -jét a következőképpen:
- Kattintson a Fájl -> Közzététel a weben elemre a táblázatban.
- Használja az alapértelmezett értékeket, és kattintson a "Közzététel" gombra
- Másolja ki az URL -t, és illessze be egy jegyzetfájlba.
Példám:
https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUubwht.hu Ez a bit a /d /e és a következő /karakter között. Tehát ebben az esetben:
2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy
Ezt a hosszú számot kicseréli a bitre a következő URL -ben, amely azt mondja: "SPREASHEET_ID":
"https://spreadsheets.google.com/feeds/list/SPREADSHEET_ID/od6/public/basic?alt=json"
- Most vegye ki azt az URL -t, és illessze be a JSON -lekérdezés URL -mezőjébe a Storyline -ban.
- Válassza a "GET" lehetőséget
- Hagyja üresen a "Fejlécek" mezőt
- A következő mezőben egy változót hoz létre az első lap A2 cella tartalmával, ha beilleszti ezt a képletet:
tweet = api_response.feed.entry.0.title. $ t
A változó neve "tweet". A tartalom másolása az elsődleges lapról 0.
Ha most hozzáad egy "Alexa Says" blokkot a JSON lekérdezés alá, és csak a (z) {{tweet}} szót írja be göndör zárójelbe, Alexa kimondja a cella tartalmát. Győződjön meg arról, hogy a tok megfelel a 4. lépésben megnevezett változónak !!!
Nyomja meg a PLAY gombot a Storyline -on, és próbálja ki ügyességét! Ha a "Null" szót kapja, az azt jelenti, hogy valami hiba történt az API -kéréssel.
Ez tényleg az alapkészséghez tartozik. Hozzáadtam egy vicces kis hang aláírást egy másik MP3 -mal, és megkérdeztem, hogy a felhasználó szeretne -e régebbi tweetet hallani. A következő lépés egy szép trükköt mutat be egy véletlenszerű régebbi tweet létrehozásához, de ez fagyos azok számára, akik szeretnének valami extra használhatóságot nyújtani a készségeiknek.
6. lépés: Választható extra: Véletlen eredmény létrehozása a Google Táblázatokból az Alexa számára az olvasáshoz
Ha véletlenszerűen szeretne generálni egy régebbi tweetet, akkor itt egy remek trükk.
Létrehoztam egy harmadik lapot a táblázatomban, "Régebbi tweetek" néven. Ezek mind az A1-A36 cellákat foglalják el a táblázatomban
- A Storyline -ban hozzon létre egy új blokkot "Oldertweets" néven
- Adjon hozzá egy JSON lekérdezési lépést
- Adj nevet
-
Az URL mezőben ugyanazt az API URL -t használja, amelyet a Legutóbbi tweet lépésben a táblázatkezelő azonosítójával készített, egyetlen variációval:
Módosítsa a bitet a vége felé, amely azt mondja, hogy/od6/basic/public//3/basic/public - ez a TAB 3 -at hívja az 1 -es lap helyett
- Válassza a "GET" lehetőséget
- Hagyja üresen a fejléceket
- A következő mezőbe illessze be ezt:
oldtweet = api_response.feed.entry.random.title. $ t
Létrehozott egy új változót, az úgynevezett "oldtweet" -t, és ez a kis "random" szó azt jelenti, hogy a változó minden alkalommal megváltozik, amikor a JSON lekérdezést meghívják.
Adjon hozzá egy másik "Alexa Says" lépést, és illessze be új változóját ({{oldtweet}}) ezekkel a göndör zárójelekkel. Bumm! Véletlen jóság!
Ha tetszett ez az Instructable, kérjük, adjon néhány csillagot vagy véleményt a tudásomról!
Ajánlott:
Olvassa el a villany- és gázmérőt (belga/holland), és töltse fel a Thingspeak -re: 5 lépés
Olvassa el a villamosenergia- és gázmérőt (belga/holland), és töltse fel a Thingspeak -be: Ha aggódik az energiafogyasztása miatt, vagy csak egy kicsit hülye, akkor valószínűleg szeretné látni a képzeletbeli új digitális mérő adatait okostelefonján. projekt keretében egy belga vagy holland digitális elektrótól szerezzük be az aktuális adatokat
Mérje meg a távolságot a HC-SRF04 ultrahangos érzékelővel (legújabb 2020): 3 lépés
Mérje meg a távolságot a HC-SRF04 ultrahangos érzékelővel (legújabb 2020): Mi az ultrahangos érzékelő (távolság)? Ultrahang (szonár) magas szintű hullámokkal, amelyeket az emberek nem hallhatnak. A természetben azonban mindenhol láthatjuk az ultrahangos hullámok jelenlétét. Az olyan állatoknál, mint a denevérek, a delfinek … ultrahangos hullámokat használnak
Arduino Nano minden esetben: 4 lépés
Arduino Nano minden tok: Szüksége volt valaha egy kis védelemre az Arduino Nano Every készülékéhez, vagy csak egy stílusos tokra vágyott, amely még mindig működőképes és kenyérpirítóbarát? Nos, jó helyre jöttél, mert ma megmutatom, hogyan kell elkészíteni
A legújabb MacOS/Hackintosh High Sierra 10.13 USB Wifi illesztőprogram "jövőbiztos" megoldás a Raspberry Pi használatával: 4 lépés
A legújabb MacOS/Hackintosh High Sierra 10.13 Usb Wifi illesztőprogram "Future Proof" megoldás a Raspberry Pi használatával: A legújabb macOS/Hackintosh egyik legbosszantóbb problémája az USB wifi illesztőprogram elérhetősége. Három wifi usb nem működik a legújabbon macOS High Sierra 10.13A legújabb usb wifi panda vezeték nélküli, azonban a macO illesztőprogram -támogatása
Építsen véletlenszerű zene- és fénygenerátort, és nézze meg Isten bizonyítékait: 4 lépés
Építsen véletlenszerű zene- és fénygenerátort, és nézze meg Isten bizonyítékait: Valóban véletlenszerű számok létrehozása lehetetlennek tűnik. Viszont meglehetősen könnyű mikrokontrollert használni ál -véletlen számok előállításához, majd ezek segítségével megjeleníteni a hangokat és a különböző színű fényeket. Míg a létrehozott zene n