Satura rādītājs:

Alexa Skill: Lasiet jaunāko tvītu (šajā gadījumā - Dievs): 6 soļi
Alexa Skill: Lasiet jaunāko tvītu (šajā gadījumā - Dievs): 6 soļi

Video: Alexa Skill: Lasiet jaunāko tvītu (šajā gadījumā - Dievs): 6 soļi

Video: Alexa Skill: Lasiet jaunāko tvītu (šajā gadījumā - Dievs): 6 soļi
Video: Он танцует на крыше. 💃💃 - Parkour Climb and Jump GamePlay 🎮📱 🇷🇺 2024, Novembris
Anonim
Alexa Skill: Lasiet jaunāko tvītu (šajā gadījumā Dieva)
Alexa Skill: Lasiet jaunāko tvītu (šajā gadījumā Dieva)

Es izveidoju Alexa prasmi lasīt “Dieva jaunāko tvītu” - saturu, tas ir, no @TweetOfGod, 5 miljonu abonentu konta, ko izveidojis bijušais Daily Show komēdiju rakstnieks. Tas izmanto IFTTT (If This Then That), Google izklājlapu un neticami viegli lietojamo Alexa Skill Builder, Storyline.

Lai gūtu priekšstatu par gala rezultātu, šeit varat pievienot savas prasmes savai Alexa ierīcei vai priekšskatīt prasmi vietnē Storyline, ja jūsu Alexa konts nav ASV vai jums nav Alexa ierīces.

Ja vēlaties izveidot Alexa prasmi, kas lasa tvītus, tas ir salīdzinoši vienkāršs veids, kā to izdarīt. Ja jūs vienkārši izmantojat manas veidnes, kodēšana nav saistīta, bet, ja vēlaties aiziet no ceļa, tas palīdz mazliet uzzināt par kodu kopumā un jo īpaši par JSON zvanu struktūru. Bet, ja jūs vienkārši atkārtojat šo prasmi citam Twitter kontam, tam nav vajadzīgas tehniskas prasmes, izņemot izgriešanu un ielīmēšanu.

Kas jums būs nepieciešams:

  • Alexa ierīce (vai konts ar Echoism.io - lielisks Alexa virtuālais simulators)
  • Alexa izstrādātāja konts
  • Google konts, ar kuru izveidot izklājlapu
  • Konts ar Storyline
  • Konts ar If This then That (IFTTT)
  • Dropbox konts vai vieta, kur varat mitināt mp3 failus drošā serverī

Visi šie konti ir bezmaksas.

Es daudz neiedziļināšos Storyline prasmes veidošanas pamatos - vietnē ir lieliskas apmācības, lai uzzinātu, kā izveidot blokus, savienot tos un sadalīties starp nosacījumiem. Šī apmācība koncentrēsies uz trim lietām, kuras es iemācījos, veidojot šo prasmi: MP3 skaņas efekta iegūšana jūsu prasmēs, twitter satura savienošana, izmantojot IFTTT un Google izklājlapas, un kā ģenerēt nejaušu tvītu no iepriekš izveidotu opciju kopas.

(Un liels kliedziens Alexa prasmju izstrādātājam Džordžam Koljē, kura lieliskā apmācība par twitter integrēšanu Alexa mani iesāka.)

1. darbība: 1. darbība. Padomājiet par savu prasmju kopējo plūsmu

1. darbība. Padomājiet par savu prasmju kopējo plūsmu
1. darbība. Padomājiet par savu prasmju kopējo plūsmu

Stāstu līnija ir fantastisks veids, kā izveidot Alexa prasmes ar nelielu kodēšanu vai bez tās. Jūs varat vilkt un nomest blokus vietā un izveidot savienojumus un ceļus starp darbībām, izmantojot viegli saprotamu grafisko interfeisu. Ja kādreiz esat izmantojis Yahoo Pipes, jūs atpazīsit saskarni.

Tagad viena no interesantākajām Storyline lietām ir tā, ka ir diezgan viegli panākt, lai Alexa izrunātu jebkura JSON vaicājuma rezultātus. Izmantojot JSON vaicājumus, ir viegli iegūt datus no Google izklājlapas. Tvītu ievietošana Google izklājlapā, ja tas ir vienkārši. Viegli. Viegli. Viegli.

Es uzskatu, ka vislabāk ir tikai vizualizēt visu savu prasmi abstrakti, pirms sākat.

Kad es domāju par savu prasmi, es zināju, ka tā galvenais mērķis ir tikai sniegt jaunāko tvītu. Bet es to varētu uzlabot ar nelielu skaņas dizainu (sižets ļauj jūsu prasmēm atskaņot jebkuru MP3), un ar vienu tvītu varētu nepietikt, lai cilvēkiem piešķirtu konta garšu - es varētu uzkrāt dažus vecākus tvītus un ļaut lietotājs dzird vienu no tiem pēc pēdējās. Tātad mana prasmju plūsmas skice varētu izskatīties šādi:

  1. Sveiciniet lietotāju ar mazliet izrunātu tekstu un atbilstošu ievada skaņu
  2. Lasiet jaunāko tvītu
  3. Atskaņot paraksta skaņu
  4. Pajautājiet lietotājam, vai viņš vēlas dzirdēt vecāku tvītu

    1. Jā? Izlasiet vecāku tvītu.
    2. Atskaņojiet paraksta skaņu
    3. Nē? Iziet no prasmes.

"Jaunākā tvīta" avots ir google izklājlapa, ko baro skripts If This then That. Šis process izskatās šādi:

  1. JA ir jauns tvīts no @TweetOfGod konta, tas tiek iekopēts izklājlapā
  2. Ja tvītā ir saite vai attēls, izklājlapa to filtrē
  3. Ja tvīts ir retvīts, izklājlapa to filtrē
  4. Tvīti, kas tiek iegūti, izmantojot šos divus filtrus, tiek apstrādāti lasīšanai: # tiek aizstāts ar vārdu "Hashtag" un vairākas citas rakstzīmes tiek aizstātas ar lasāmiem ekvivalentiem
  5. Pēdējais tvīts tiek iekopēts "jaunākā tvīta" šūnā, kuru Alekss lasa

2. darbība: 2. darbība: izveidojiet jauku sveiciena bloku ar ievada skaņu

2. darbība. Izveidojiet jauku sveiciena bloku ar ievada skaņu
2. darbība. Izveidojiet jauku sveiciena bloku ar ievada skaņu
2. darbība: izveidojiet jauku sveiciena bloku ar ievada skaņu
2. darbība: izveidojiet jauku sveiciena bloku ar ievada skaņu
2. darbība. Izveidojiet jauku sveiciena bloku ar ievada skaņu
2. darbība. Izveidojiet jauku sveiciena bloku ar ievada skaņu

Pirms Alexa lasa jaunāko tvītu, es nejauši ģenerēju vienu no četrām humoristiskām debesu skaņām. Tie ir MP3 faili, kurus sižets ir apstrādājis Alexa. Es atradu savus MP3 failus vietnē Freesound (Un tur tiešām viss ir bez maksas, bet esiet kārtīgs cilvēks un atstājiet dzeramnaudu).

  1. Lejupielādējiet savu MP3. Tam jābūt mazākam par 90 sekundēm. Alexa īpaši attiecas uz formātu. Ja zināt, ka tā ir MPEG 2. versija un 48 kps, varat izlaist nākamo darbību. Bet, ja jūs nezināt vai tas ir kaut kas cits, to ir viegli konvertēt.
  2. Augšupielādējiet to vietnē Storyline, lai to apstrādātu audio pārveidotājā
  3. Mitiniet lejupielādēto audio HTTPS serverī

Ja, veicot 3. darbību, jūs gatavojaties "DARĪT KO TAGAD?" iespējams, jums nav piekļuves https serverim, kurā varat mitināt savus failus. Neuztraucieties, to var izdarīt, izmantojot dropbox. Jums būs nepieciešams konts, taču atkal ir pieejams bezmaksas konts. Tālāk ir norādītas darbības.

  1. Dodieties uz vietni https://www.dropbox.com/h un piesakieties savā kontā.
  2. Noklikšķiniet uz pogas Augšupielādēt failus
  3. Atlasiet pārveidoto mp3 failu.
  4. Noklikšķiniet uz Kopīgot
  5. Noklikšķiniet uz Izveidot saiti un Kopēt saiti
  6. Kopētajā saitē aizstājiet “dropbox” ar “dl.dropboxusercontent” bez pēdiņām
  7. Kopējiet šo URL

Tagad jūs nokļūsit sveiciena bloka apakšā un noklikšķināsit uz notis.

Ielīmējiet savu URL. Ja vēlaties pievienot nejaušus variantus, atkārtojiet procesu vēl dažiem MP3 failiem un noklikšķiniet uz izvēlnes Hamburger zem URL ielīmēšanas lodziņa.

3. darbība: 3. darbība: iestatiet IFTTT

3. darbība. Iestatiet IFTTT
3. darbība. Iestatiet IFTTT
  1. Dodieties uz savu IFTTT kontu un atlasiet “Izveidot jaunu sīklietotni”
  2. Kā IF pakalpojumu izvēlieties TWITTER.
  3. Kā aktivizētāju atlasiet "Jauns tvīts pēc konkrēta lietotāja. Ievadiet tā konta nosaukumu, kuram vēlaties sekot
  4. Kā pakalpojumu THEN izvēlieties “Google izklājlapas”
  5. Atlasiet “Pievienot rindu izklājlapai”
  6. Laukā "Formatēta rinda" noņemiet visu, izņemot lauku {{TEXT}}.
  7. Izveidojiet savu prasmi.

Tādējādi tiek izveidota jauna izklājlapa un pievienota rinda katru reizi, kad tiek izlaists jauns tvīts. Iespējams, izklājlapā izmantosit vienu šūnu un katru reizi vienkārši pārrakstīsit tās saturu. Tādā gadījumā 5. darbībā varat izvēlēties opciju rakstīt vienā šūnā. Man patīk ierakstīt tvītus, jo periodiski pārvietoju tos, kas nav aktuāli vai reaģē uz ziņām, uz izklājlapu "Vecāki tvīti". Ņemiet vērā, ka, izvēloties šo opciju, jums būs jāveic lapas tehniskā apkope: pēc 2000 rindām tiks izveidota jauna lapa.

4. darbība: 4. darbība: iestatiet savu Google lapu

4. darbība. Iestatiet savu Google lapu
4. darbība. Iestatiet savu Google lapu
4. darbība. Iestatiet savu Google lapu
4. darbība. Iestatiet savu Google lapu
4. darbība. Iestatiet savu Google lapu
4. darbība. Iestatiet savu Google lapu

Šī Google izklājlapa ir šīs prasmes pamatā, jo tā filtrē tvītus, kas īsti nedarbojas ar Alexa (tvīti, kas atsaucas, piemēram, uz attēliem, vai tvīti ar saitēm), un tas padara tikai teksta tvītus daudz vairāk Alexa -draudzīgs ar dažām vienkāršām nomaiņām.

Ļaujiet IFTT izveidot savu izklājlapu ar dažiem ierakstiem - tāpēc vienkārši pagaidiet, līdz tiks izsūtīti daži tvīti no jūsu izsekotā konta, atveriet Google izklājlapas un kārtojiet pēc izveidotā laika. Augšpusē redzēsit savu spīdīgo jauno izklājlapu. Tagad katrs jauns tvīts būs jaunā rindā, tāpēc mēs vēlamies izveidot formulu, kas filtrētu tvītus, kuriem ir saites vai attēli, un atrastos pēdējā slejā.

Jūs varat vienkārši atkārtot šo manas izklājlapas kopiju vai izveidot savu, veicot šādas darbības:

  1. Pārdēvējiet cilni ar tvītiem "Tiešraide no IFTTT"
  2. Izklājlapai pievienojiet cilni ar nosaukumu “Tvītu apstrāde”
  3. Pievienojiet šo formulu cilnei Processing Tweets šūnā A8:

= QUERY ('Tiešraide no IFTTT'! A3: A2000, "Atlasīt A Kur nav A satur" https "")

Tādējādi visi tvīti, kuriem nav saites, tiek ievietoti jūsu apstrādes cilnes A slejā.

Tagad mums jāatrod pēdējais tvīts šajā slejā. Ielīmējiet apstrādes cilnes šūnā B7 šādu formulu:

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

Tagad mēs vēlamies veikt dažas nomaiņas, lai atvieglotu tvīta lasīšanu Alexa. Faktiski tie visi var būt vienā šūnā, bet skaidrības labad es tos sadalīju:

Cilnes Apstrāde šūnā B6 ielīmējiet:

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

Tiek apskatīts zemāk esošās šūnas saturs un zīme # tiek aizstāta ar vārdu "Hashtag"

Šūnā B5 ielīmējiet nākamo atkārtojumu:

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

Jūs saprotat ideju.

Šūnas B4 pastā:

= apdare (regexreplace (B6, "&", "un"))

Šūnā B3:

= apdare (regexreplace (B6, "%", "procenti"))

Šūnā B2 mēs ievietosim nedaudz sarežģītāku formulu:

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

Šis vienkārši atbrīvojas no jebkāda, kas nav cipars, burts vai viens no pieturzīmēm, ko saprot Alexa.

Šūnā B1 mēs vienkārši nokopēsim pēdējo tvītu:

= indekss (B2)

Tas ir pēdējais teksts, un jūs varat ieprogrammēt sižetu, lai satvertu šo šūnu, ja jūs mazliet zināt par JSON, bet, lai sižeta beigās lietas būtu nedaudz vienkāršākas, man patīk kopēt saturu cilnē "Live from IFTTT", ievietojot šo formula A2 cilnē "Tiešraide no IFTTT":

= 'Apstrādes centrs'! B1

Groovijs. Tagad jūsu izklājlapa ir iestatīta un gatava lasīšanai ar Storyline JSON vaicājumu.

5. darbība: 5. darbība: iestatiet savu jaunāko tvītu JSON vaicājumu sižetā

5. darbība: iestatiet savu
5. darbība: iestatiet savu
5. darbība: iestatiet savu
5. darbība: iestatiet savu
5. darbība: iestatiet savu
5. darbība: iestatiet savu
  1. Dodieties uz savas sižeta prasmes sveiciena bloku un pievienojiet soli “Ko saka Alexa”.
  2. Pievienojiet ievadfrāzi, piemēram, "Šeit ir jaunākais tvīts no TheTweetOfGod:"
  3. Lai pievienotu variācijas, izmantojiet izvēlni Hamburger
  4. Noklikšķiniet uz mazās bultiņas pa labi un izvēlieties "Izveidot jaunu bloku"

Es nosaucu savu jauno bloku par “Get God Tweet”. Šeit ir jāiegūst pēdējais filtrētais tvīts no primārās cilnes izklājlapas šūnas A2. Lai to izdarītu, iegūstiet datus ar JSON pieprasījumu, kas tiek piegādāts, izmantojot Google izklājlapu API. Tas tiešām ir nekas vairāk kā izdomāts URL.

  1. Lai pievienotu JSON pieprasījumu, jaunā bloka labajā malā noklikšķiniet uz mazās ikonas.
  2. Nosauciet savu API pieprasījumu. Es nosaucu savējo par “GetGodTweet”
  3. Atrodiet izklājlapas URL, rīkojoties šādi:

    1. Izklājlapā noklikšķiniet uz Fails -> Publicēt tīmeklī.
    2. Izmantojiet noklusējuma vērtības un vienkārši noklikšķiniet uz "Publicēt"
    3. Kopējiet URL un ielīmējiet to piezīmju failā.

Mans piemērs ir šāds:

https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUubgwwml.jpg. Tas ir bits starp /d /e un nākamo /rakstzīmi. Tātad šajā gadījumā:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Jūs aizstājat šo garo skaitli ar bitu šajā URL, kurā norādīts “SPREASHEET_ID”:

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

  1. Tagad paņemiet ŠO URL un ielīmējiet to JSON vaicājuma URL lodziņā Storyline.
  2. Atlasiet opciju "GET"
  3. Atstājiet lodziņu "Galvenes" tukšu
  4. Nākamajā lodziņā jūs izveidosit mainīgo ar pirmās cilnes šūnas A2 saturu, ielīmējot šo formulu:

tvīts = api_response.feed.entry.0.title. $ t

Mainīgā nosaukums ir "tweet". Tā ir satura kopēšana no galvenās cilnes 0.

Tagad, ja zem JSON vaicājuma pievienojat bloku “Alexa Says” un cirtainās iekavās ievietojat tikai vārdu {{tweet}}, Alexa pateiks šūnas saturu. Pārliecinieties, vai gadījums atbilst mainīgajam, ko nosaucāt 4. darbībā !!!

Nospiediet PLAY pogu uz Storyline un pārbaudiet savas prasmes! Ja saņemat vārdu “Null”, tas nozīmē, ka jūsu API pieprasījumā ir radusies kļūda.

Tas tiešām ir pamata prasmēm. Es pievienoju smieklīgu mazu audio parakstu ar citu MP3 un jautāju, vai lietotājs vēlas dzirdēt vecāku tvītu. Nākamais solis parāda jauku triku, lai ģenerētu nejaušu vecāku tvītu, taču tas ir apsaldējums tiem, kas vēlas savas prasmes papildināt.

6. darbība. Papildu iespēja: nejauša rezultāta ģenerēšana no Google izklājlapām Alexa lasīšanai

Neobligāti: nejauša rezultāta ģenerēšana no Google izklājlapām Alexa lasīšanai
Neobligāti: nejauša rezultāta ģenerēšana no Google izklājlapām Alexa lasīšanai

Ja vēlaties nejauši ģenerēt kādu no vecāku tvītu kopām, šeit ir lielisks triks.

Es izklājlapā izveidoju trešo cilni ar nosaukumu “Vecāki tvīti”. Tie visi manā izklājlapā aizņem šūnas A1-A36

  1. Storyline izveidojiet jaunu bloku ar nosaukumu "Oldertweets"
  2. Pievienojiet JSON vaicājuma darbību
  3. Piešķiriet tam nosaukumu
  4. Lodziņā URL izmantojiet to pašu API URL, kuru izveidojāt ar savu izklājlapas ID, veicot jaunāko tvīta darbību, ar vienu variantu:

    Mainiet bitu uz beigām, kas saka/od6/basic/public uz/3/basic/public - tas izsauc 3. cilni, nevis 1. cilni

  5. Atlasiet "GET"
  6. Atstājiet galvenes tukšas
  7. Nākamajā lodziņā ielīmējiet šo:

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

Jūs esat izveidojis jaunu mainīgo ar nosaukumu "oldtweet", un šis mazais vārds "nejaušs" nozīmē, ka mainīgais mainīsies katru reizi, kad tiks izsaukts JSON vaicājums.

Pievienojiet vēl vienu “Alexa Says” darbību un ievietojiet jauno mainīgo {{oldtweet}} ar šīm cirtainajām iekavām. Uzplaukums! Nejaušs labestība!

Ja jums patika šī pamācība, lūdzu, piešķiriet manām prasmēm dažas zvaigznes vai pārskatu!

Ieteicams: