Tartalomjegyzék:

Alexa Skill: Olvassa el a legújabb tweetet (ebben az esetben Isten): 6 lépés
Alexa Skill: Olvassa el a legújabb tweetet (ebben az esetben Isten): 6 lépés

Videó: Alexa Skill: Olvassa el a legújabb tweetet (ebben az esetben Isten): 6 lépés

Videó: Alexa Skill: Olvassa el a legújabb tweetet (ebben az esetben Isten): 6 lépés
Videó: Высокая плотность 2022 2024, November
Anonim
Alexa Skill: Olvassa el a legújabb tweetet (ebben az esetben Isten)
Alexa Skill: Olvassa el a legújabb tweetet (ebben az esetben Isten)

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

1. lépés: Gondolja át készségeinek általános áramlását
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:

  1. Üdvözölje a felhasználót egy kis beszélt szöveggel és megfelelő bevezető hanggal
  2. Olvassa el a legújabb tweetet
  3. Játssz aláírás hangot
  4. Kérdezze meg a felhasználót, hogy szeretne -e régebbi tweetet hallani

    1. Igen? Olvass el egy régebbi tweetet.
    2. Játssza le az aláírás hangját
    3. 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:

  1. HA új tweet érkezik a @TweetOfGod fiókból, akkor azt a táblázatba másolja
  2. Ha a tweet tartalmaz linket vagy képet, a táblázat kiszűri azt
  3. Ha a tweet retweet, a táblázat kiszűri
  4. 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
  5. 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

2. lépés: Hozzon létre egy szép üdvözlő blokkot bevezető hanggal
2. lépés: Hozzon létre egy szép üdvözlő blokkot bevezető hanggal
2. lépés: Hozzon létre egy szép üdvözlő blokkot bevezető hanggal
2. lépés: Hozzon létre egy szép üdvözlő blokkot bevezető hanggal
2. lépés: Hozzon létre egy szép üdvözlő blokkot bevezető hanggal
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).

  1. 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ó.
  2. Töltse fel a Storyline -ba feldolgozásra az Audio Converter segítségével
  3. 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:

  1. Lépjen a https://www.dropbox.com/h oldalra, és jelentkezzen be fiókjába.
  2. Kattintson a Fájlok feltöltése gombra
  3. Válassza ki az átalakított mp3 fájlt.
  4. Kattintson a Megosztás gombra
  5. Kattintson a Hivatkozás létrehozása és a Másolás linkre
  6. A másolt linken cserélje le a „dropboxot” a „dl.dropboxusercontent” kifejezésre idézőjelek nélkül
  7. 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

3. lépés: Az IFTTT beállítása
3. lépés: Az IFTTT beállítása
  1. Nyissa meg IFTTT -fiókját, és válassza az "Új kisalkalmazás létrehozása" lehetőséget
  2. Válassza a TWITTER lehetőséget IF szolgáltatásként.
  3. 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
  4. Válassza ki a "Google Táblázatok" szolgáltatást AKKOR
  5. Válassza a "Sor hozzáadása a táblázathoz" lehetőséget
  6. A „Formázott sor” mezőben távolítson el mindent, kivéve a {{TEXT}} mezőt.
  7. 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

4. lépés: Állítsa be a Google Táblázatot
4. lépés: Állítsa be a Google Táblázatot
4. lépés: Állítsa be a Google Táblázatot
4. lépés: Állítsa be a Google Táblázatot
4. lépés: Állítsa be a Google Táblázatot
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:

  1. Nevezze át a lapot tweetekkel: "Élőben az IFTTT -ből"
  2. Adjon hozzá egy "Tweetek feldolgozása" nevű lapot a táblázathoz
  3. 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

5. lépés: Állítsa be
5. lépés: Állítsa be
5. lépés: Állítsa be
5. lépés: Állítsa be
5. lépés: Állítsa be
5. lépés: Állítsa be
  1. Lépjen a történetvezetői készség üdvözlő blokkjához, és adjon hozzá egy "Amit Alexa mond" lépést.
  2. Adjon hozzá egy bevezető kifejezést, például "Itt a TheTweetOfGod legújabb tweetje:"
  3. A Hamburger menü segítségével adhat hozzá változatokat
  4. 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.

  1. Kattintson az új blokk jobb szélén található kis ikonra JSON -kérelem hozzáadásához.
  2. Nevezze el API -kérését. Az enyémet "GetGodTweet" -nek hívtam
  3. Keresse meg táblázatának URL -jét a következőképpen:

    1. Kattintson a Fájl -> Közzététel a weben elemre a táblázatban.
    2. Használja az alapértelmezett értékeket, és kattintson a "Közzététel" gombra
    3. 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"

  1. Most vegye ki azt az URL -t, és illessze be a JSON -lekérdezés URL -mezőjébe a Storyline -ban.
  2. Válassza a "GET" lehetőséget
  3. Hagyja üresen a "Fejlécek" mezőt
  4. 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

Választható extra: Véletlen találat létrehozása a Google Táblázatokból az Alexa számára olvasásra
Választható extra: Véletlen találat létrehozása a Google Táblázatokból az Alexa számára olvasásra

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

  1. A Storyline -ban hozzon létre egy új blokkot "Oldertweets" néven
  2. Adjon hozzá egy JSON lekérdezési lépést
  3. Adj nevet
  4. 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

  5. Válassza a "GET" lehetőséget
  6. Hagyja üresen a fejléceket
  7. 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: