Turinys:

Alexa Skill: perskaitykite naujausią „Tweet“(šiuo atveju - Dievo): 6 žingsniai
Alexa Skill: perskaitykite naujausią „Tweet“(šiuo atveju - Dievo): 6 žingsniai

Video: Alexa Skill: perskaitykite naujausią „Tweet“(šiuo atveju - Dievo): 6 žingsniai

Video: Alexa Skill: perskaitykite naujausią „Tweet“(šiuo atveju - Dievo): 6 žingsniai
Video: Amazon Echo Show 8 2nd Generation: Do This to Unlock More Features! 2024, Gruodis
Anonim
Alexa Skill: perskaitykite naujausią tviterį (šiuo atveju Dievo)
Alexa Skill: perskaitykite naujausią tviterį (šiuo atveju Dievo)

Aš sukūriau „Alexa“įgūdį skaityti „Naujausią Dievo tviterį“- turinį, ty iš @TweetOfGod, buvusio „Daily Show“komedijų rašytojo sukurtą 5 milijonų+ abonentų paskyrą. Jame naudojama IFTTT („If This Then That“), „Google“skaičiuoklė ir neįtikėtinai paprasta naudoti „Alexa Skill Builder“, „Storyline“.

Kad suprastumėte galutinį rezultatą, galite pridėti įgūdžių prie savo „Alexa“įrenginio čia arba galite peržiūrėti įgūdžius „Storyline“, jei jūsų „Alexa“paskyra nėra JAV arba neturite „Alexa“įrenginio.

Jei norite sukurti „Alexa“įgūdžius, kurie skaito tviterius, tai yra gana paprastas būdas tai padaryti. Jei naudojate tik mano šablonus, kodavimas nėra susijęs, tačiau jei norite nuklysti nuo kelio, tai padeda šiek tiek sužinoti apie kodą apskritai ir ypač apie tai, kaip yra struktūrizuoti JSON skambučiai. Bet jei jūs tiesiog pakartosite šį įgūdį kitai „Twitter“paskyrai, tam nereikės jokių techninių įgūdžių, išskyrus iškirpimą ir įklijavimą.

Ko jums reikės:

  • „Alexa“įrenginys (arba paskyra su „Echoism.io“- puikus „Alexa“virtualus simuliatorius)
  • „Alexa“kūrėjo paskyra
  • „Google“paskyra, su kuria galima sukurti skaičiuoklę
  • Sąskaita su „Storyline“
  • Sąskaita su „If This then That“(IFTTT)
  • „Dropbox“paskyra arba vieta, kur galite saugoti mp3 failus saugiame serveryje

Visos šios sąskaitos yra nemokamos.

Nesigilinsiu į pagrindinius „Storyline“įgūdžių kūrimo pagrindus - svetainėje yra puikių vadovėlių, kaip išmokti kurti blokus, juos sujungti ir suskirstyti tarp sąlygų. Šioje pamokoje pagrindinis dėmesys bus skiriamas trims dalykams, kuriuos išmokau ugdydamas šį įgūdį: MP3 garso efekto įtraukimas į savo įgūdžius, „Twitter“turinio prijungimas naudojant IFTTT ir „Google“skaičiuokles ir kaip iš atsitiktinių įrašų sukurti iš iš anksto sukurtų parinkčių.

(Ir didelis šauksmas Alexa įgūdžių kūrėjui George'ui Collierui, kurio puiki pamoka apie „Twitter“integravimą į „Alexa“mane pradėjo.)

1 žingsnis: 1 žingsnis: pagalvokite apie bendrą savo įgūdžių srautą

1 žingsnis: pagalvokite apie bendrą savo įgūdžių srautą
1 žingsnis: pagalvokite apie bendrą savo įgūdžių srautą

„Siužetas“yra fantastiškas būdas sukurti „Alexa“įgūdžius be kodavimo arba visai be jo. Galite nuvilkti blokus į vietą ir nustatyti ryšius bei kelius tarp veiksmų per lengvai suprantamą grafinę sąsają. Jei kada nors naudojote „Yahoo Pipes“, atpažinsite sąsają.

Dabar vienas iš įdomių „Storyline“dalykų yra tai, kad leidžia gana lengvai priversti Alexą kalbėti apie bet kokios JSON užklausos rezultatus. Naudojant JSON užklausas lengva ištraukti duomenis iš „Google“skaičiuoklės. „Twitter“įrašų įtraukimas į „Google“skaičiuoklę naudojant „If This Than That“yra lengvas. Lengva. Lengva. Lengva.

Manau, kad prieš pradedant, geriau tiesiog vizualizuoti visus savo įgūdžius abstrakčiai.

Kai galvojau apie savo įgūdžius, žinojau, kad pagrindinis tikslas yra tiesiog pristatyti naujausią tviterį. Bet aš tai galėčiau patobulinti šiek tiek suprojektuodamas garsą („Storyline“leidžia jūsų įgūdžiams leisti bet kokį MP3), o vieno tviterio gali nepakakti, kad žmonėms suteiktų paskyros skonį - galėčiau kaupti kai kuriuos senesnius tviterius ir leisti vartotojas išgirsta vieną iš jų vėliau. Taigi mano įgūdžių srauto eskizas gali atrodyti taip:

  1. Pasveikinkite vartotoją su šiek tiek ištarto teksto ir atitinkamu įžanginiu garsu
  2. Perskaitykite naujausią tviterį
  3. Paleiskite parašo garsą
  4. Paklauskite vartotojo, ar jis norėtų išgirsti senesnį tviterį

    1. Taip? Perskaitykite senesnį tviterį.
    2. Paleiskite parašo garsą
    3. Ne? Išeikite iš įgūdžių.

„Paskutinio tviterio“šaltinis yra „Google“skaičiuoklė, kurią maitina scenarijus „If This then That“. Procesas atrodo taip:

  1. Jei iš „@TweetOfGod“paskyros yra naujas „tweet“, jis nukopijuojamas į skaičiuoklę
  2. Jei „Twitter“įraše yra nuoroda arba vaizdas, skaičiuoklė jį filtruoja
  3. Jei „tweet“yra retweetas, skaičiuoklė jį filtruoja
  4. „Tweets“, gauti naudojant šiuos du filtrus, apdorojami skaitymui: # pakeičiamas žodžiu „Hashtag“, o keli kiti simboliai pakeičiami skaitomais atitikmenimis
  5. Paskutinis tviteris nukopijuojamas į „naujausio tviterio“langelį, kurį skaito Aleksas

2 veiksmas: 2 veiksmas: sukurkite gražų pasveikinimo bloką su įžanginiu garsu

2 žingsnis: sukurkite gražų pasveikinimo bloką su įžanginiu garsu
2 žingsnis: sukurkite gražų pasveikinimo bloką su įžanginiu garsu
2 žingsnis: sukurkite gražų pasveikinimo bloką su įžanginiu garsu
2 žingsnis: sukurkite gražų pasveikinimo bloką su įžanginiu garsu
2 žingsnis: sukurkite gražų pasveikinimo bloką su įžanginiu garsu
2 žingsnis: sukurkite gražų pasveikinimo bloką su įžanginiu garsu

Prieš Alexa perskaitydama naujausią tviterį, aš atsitiktinai sukuriu vieną iš keturių humoristinių dangiškų garsų. Tai yra MP3, kuriuos „Alexa“apdorojo siužetas. Radau savo MP3 failus „Freesound“(ir viskas ten tikrai nemokama, bet būk padorus žmogus ir palik arbatpinigių).

  1. Atsisiųskite savo MP3. Jis turi būti trumpesnis nei 90 sekundžių. „Alexa“ypač susijusi su formatu. Jei žinote, kad tai MPEG 2 versija ir 48 kps, galite praleisti kitą veiksmą. Bet jei jūs nežinote ar yra kažkas kito, tai lengva konvertuoti.
  2. Įkelkite jį į „Storyline“, kad galėtumėte juos apdoroti naudodami garso keitiklį
  3. Priglobkite atsisiųstą garsą HTTPS serveryje

Jei atliksite 3 veiksmą „DARYK KĄ DABAR?“tikriausiai neturite prieigos prie https serverio, kuriame galite priglobti failus. Nesijaudinkite, tai galite padaryti naudodami „dropbox“. Jums reikės paskyros, bet vėlgi, nemokama. Štai šie veiksmai:

  1. Eikite į https://www.dropbox.com/h ir prisijunkite prie savo paskyros.
  2. Spustelėkite mygtuką Įkelti failus
  3. Pasirinkite mp3 failą, kurį konvertavote.
  4. Spustelėkite Bendrinti
  5. Spustelėkite Sukurti nuorodą ir Kopijuoti nuorodą
  6. Nuorodoje, kurią nukopijavote, „dropbox“pakeiskite „dl.dropboxusercontent“be kabučių
  7. Nukopijuokite tą URL

Dabar eisite į pasveikinimo bloko apačią ir spustelėkite muzikinės natos piktogramą.

Įklijuokite savo URL. Jei norite pridėti atsitiktinių variantų, pakartokite procesą dar keliems MP3 ir spustelėkite „Hamburger“meniu po URL įklijavimo laukeliu.

3 veiksmas: 3 veiksmas: nustatykite IFTTT

3 veiksmas: nustatykite IFTTT
3 veiksmas: nustatykite IFTTT
  1. Eikite į savo IFTTT paskyrą ir pasirinkite „Sukurti naują programėlę“
  2. Pasirinkite TWITTER kaip IF paslaugą.
  3. Kaip aktyviklį pasirinkite „Naujas konkretaus vartotojo tweetas. Įveskite paskyros, kurią norite stebėti, pavadinimą
  4. Pasirinkite THEN paslaugą „Google“skaičiuoklės “
  5. Pasirinkite „Pridėti eilutę prie skaičiuoklės“
  6. Lauke „Formatuota eilutė“pašalinkite viską, išskyrus lauką {{TEXT}}.
  7. Sukurkite savo įgūdžius.

Tai sukuria naują skaičiuoklę ir prideda eilutę kiekvieną kartą, kai išeina naujas „tweet“. Galbūt norėsite skaičiuoklėje naudoti vieną langelį ir kiekvieną kartą tiesiog perrašyti jo turinį. Tokiu atveju 5 veiksme galite pasirinkti parinktį rašyti į vieną langelį. Man patinka įrašyti „tweets“įrašus, nes tuos, kurie nėra aktualūs ar reaguoja į naujienas, periodiškai perkeliu į „Senesnių tviterių“skaičiuoklę. Atminkite, kad pasirinkę šią parinktį, turėsite atlikti tam tikrą lapo priežiūrą: po 2000 eilučių bus sukurta nauja.

4 veiksmas: 4 veiksmas: nustatykite „Google“lapą

4 veiksmas: nustatykite „Google“lapą
4 veiksmas: nustatykite „Google“lapą
4 veiksmas: nustatykite „Google“lapą
4 veiksmas: nustatykite „Google“lapą
4 veiksmas: nustatykite „Google“lapą
4 veiksmas: nustatykite „Google“lapą

Šis „Google“lapas yra šio įgūdžio esmė, nes jis filtruoja tweets, kurie neveikia labai gerai su „Alexa“(„tweets“, pvz., Vaizdai, arba „tweets“su nuorodomis), ir daro „Twitter“tik teksto tweets daug daugiau -draugiškas su keletu paprastų pakeitimų.

Leiskite IFTT sukurti skaičiuoklę su keliais įrašais - todėl tiesiog palaukite, kol ten atsidurs keli tviteriai iš stebimos paskyros, atidarykite „Google“skaičiuokles ir surūšiuokite pagal sukurtą laiką. Pamatysite naują blizgančią skaičiuoklę viršuje. Dabar kiekvienas naujas tviteris bus naujoje eilutėje, todėl norime sukurti formulę, kuri išfiltruotų tviterius, kuriuose yra nuorodų ar vaizdų, ir paleisti paskutinį stulpelio elementą.

Galite tiesiog pakartoti šią mano skaičiuoklės kopiją arba sukurti savo atlikdami šiuos veiksmus:

  1. Pervardykite skirtuką su tviteriais „Tiesiogiai iš IFTTT“
  2. Prie skaičiuoklės pridėkite skirtuką pavadinimu „Apdoroti„ Tweets “
  3. Įtraukite šią formulę į skirtuko Apdorojimo tweets langelį A8:

= QUERY ('Tiesiogiai iš IFTTT'! A3: A2000, "Pasirinkite A Kur ne A yra" https "")

Tai įtraukia visus „tweets“, kuriuose nėra nuorodos, į jūsų apdorojimo skirtuko A stulpelį.

Dabar tame stulpelyje turime rasti paskutinį tviterį. Įklijuokite šią formulę į apdorojimo skirtuko langelį B7:

= INDEKSAS (FILTRAS (A: A, NE (ISBLANK (A: A)))), EILĖS (FILTRAS (A: A, NE (ISBLANK (A: A))))))

Dabar norime atlikti keletą pakeitimų, kad „Alexa“būtų lengviau skaityti „tweet“. Tai iš tikrųjų gali būti viena vienos ląstelės formulė, bet aš juos skaidiau aiškumo dėlei:

Skirtuko Apdorojimas lange B6 įklijuokite:

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

Tai pažvelgia į žemiau esančio langelio turinį ir pakeičia # ženklą žodžiu „Hashtag“

Ląstelėje B5 įklijuokite kitą iteraciją:

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

Supratote idėją.

Ląstelės B4 pasta:

= apdaila (regexreplace (B6, "&", "ir"))

B3 langelyje:

= apdaila (regexreplace (B6, "%", "proc"))

B2 langelyje pateiksime šiek tiek sudėtingesnę formulę:

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

Tai paprasčiausiai atsikrato NIEKO, kas nėra skaičius, raidė ar vienas iš skyrybos taškų, kuriuos Alexa supranta.

B1 langelyje mes tiesiog nukopijuosime paskutinį tviterį:

= indeksas (B2)

Tai yra galutinis tekstas ir galite suprogramuoti siužetą, kad sugriebtų tą langelį, jei žinote šiek tiek JSON, bet, kad siužeto pabaigoje viskas būtų šiek tiek paprasčiau, man patinka nukopijuoti turinį į skirtuką „Tiesiogiai iš IFTTT“, įdėjus šį elementą formulę A2 skirtuke „Tiesiogiai iš IFTTT“:

= „Apdorojimo centras“! B1

Groovy. Dabar jūsų skaičiuoklė paruošta ir paruošta skaityti naudojant „Storyline JSON“užklausą.

5 veiksmas: 5 veiksmas: nustatykite „Paskutinį„ Tweet “JSON užklausą„ Storyline “

5 žingsnis: nustatykite savo
5 žingsnis: nustatykite savo
5 žingsnis: nustatykite savo
5 žingsnis: nustatykite savo
5 žingsnis: nustatykite savo
5 žingsnis: nustatykite savo
  1. Eikite į savo siužeto įgūdžių sveikinimo bloką ir pridėkite žingsnį „Ką sako Alexa“.
  2. Pridėkite įžanginę frazę, pvz., „Štai naujausias„ TheTweetOfGod “tviteris:“
  3. Norėdami pridėti variantų, naudokite „Hamburger“meniu
  4. Spustelėkite rodyklę į dešinę ir pasirinkite „Sukurti naują bloką“

Aš pavadinau savo naują bloką „Get God Tweet“. Užduotis yra atnešti naujausią, filtruotą tviterį iš pirminio skirtuko skaičiuoklės langelio A2. Tai galite padaryti gaudami duomenis naudodami JSON užklausą, pateiktą per „Google“skaičiuoklių API: tai tikrai ne kas kita, kaip išgalvotas URL.

  1. Spustelėkite mažą piktogramą toli dešinėje savo naujame bloke, kad pridėtumėte JSON užklausą.
  2. Pavadinkite savo API užklausą. Aš pavadinau savo „GetGodTweet“
  3. Suraskite skaičiuoklės URL taip:

    1. Skaičiuoklėje spustelėkite Failas -> Skelbti žiniatinklyje.
    2. Naudokite numatytas vertes ir tiesiog spustelėkite „Skelbti“
    3. Nukopijuokite URL ir įklijuokite jį į užrašų failą.

Mano pavyzdys:

„https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwg“iš dokumento, kurio jums prireiks. Tai yra tarpas tarp /d /e ir kito /simbolio. Taigi šiuo atveju:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Šį ilgą skaičių pakeisite į bitą šiame URL, kuriame sakoma „SPREASHEET_ID“:

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

  1. Dabar paimkite TĄ URL ir įklijuokite jį į „Storyline“JSON užklausos URL laukelį.
  2. Pasirinkite parinktį „GET“
  3. Palikite lauką „Antraštės“tuščią
  4. Kitame laukelyje sukursite kintamąjį su pirmojo skirtuko ląstelės A2 turiniu, įklijuodami šią formulę:

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

Kintamasis pavadintas „tweet“. Tai turinio kopijavimas iš pagrindinio skirtuko 0.

Dabar, jei po JSON užklausa pridėsite bloką „Alexa Says“ir į garbanotus skliaustus įrašysite tik žodį {{tweet}}, Alexa pasakys langelio turinį. Įsitikinkite, kad dėklas atitinka kintamąjį, kurį nurodėte atlikdami 4 veiksmą !!!

Paspauskite „PLAY“mygtuką „Storyline“ir išbandykite savo įgūdžius! Jei gaunate žodį „Null“, tai reiškia, kad su jūsų API užklausa kažkas negerai.

Tai tikrai yra pagrindinis įgūdis. Pridėjau juokingą garso įrašą su kitu MP3 ir paklausiau, ar vartotojas nori išgirsti senesnį tviterį. Kitas žingsnis parodys jums gražų triuką, kaip sukurti atsitiktinį senesnį tviterį, tačiau tai šalta tiems, kurie nori savo įgūdžiams suteikti papildomo patogumo.

6 veiksmas: papildomas pasirinkimas: atsitiktinio rezultato generavimas iš „Google“skaičiuoklių, kad „Alexa“galėtų perskaityti

Neprivaloma papildoma: atsitiktinio rezultato generavimas iš „Google“skaičiuoklių, skirtas „Alexa“skaityti
Neprivaloma papildoma: atsitiktinio rezultato generavimas iš „Google“skaičiuoklių, skirtas „Alexa“skaityti

Jei norite atsitiktinai sugeneruoti vieną iš senesnių tviterių rinkinio, čia yra puikus triukas.

Skaičiuoklėje sukūriau trečiąjį skirtuką pavadinimu „Senesni tweets“. Visa tai mano skaičiuoklėje užima langelius A1-A36

  1. „Storyline“sukurkite naują bloką pavadinimu „Oldertweets“
  2. Pridėkite JSON užklausos veiksmą
  3. Suteikite jam vardą
  4. URL laukelyje naudokite tą patį API URL, kurį sukūrėte naudodami skaičiuoklės ID atlikdami naujausią „Tweet“veiksmą, su vienu variantu:

    Pakeiskite bitą iki galo, kuris sako/od6/basic/public į/3/basic/public - tai iškviečia 3 skirtuką, o ne 1 skirtuką

  5. Pasirinkite „GET“
  6. Palikite antraštes tuščias
  7. Kitame lange įklijuokite:

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

Sukūrėte naują kintamąjį, vadinamą „oldtweet“, ir šis mažas žodis „atsitiktinis“reiškia, kad kintamasis pasikeis kiekvieną kartą, kai bus iškviesta JSON užklausa.

Pridėkite dar vieną „Alexa Says“veiksmą ir įterpkite naują kintamąjį {{oldtweet}} su tais garbanotais skliaustais. Bum! Atsitiktinis gerumas!

Jei jums patiko šis „Instructable“, prašau, suteikite mano įgūdžiams keletą žvaigždžių ar apžvalgą!

Rekomenduojamas: