Kazalo:

Alexa Skill: Preberite najnovejši tweet (v tem primeru božji): 6 korakov
Alexa Skill: Preberite najnovejši tweet (v tem primeru božji): 6 korakov

Video: Alexa Skill: Preberite najnovejši tweet (v tem primeru božji): 6 korakov

Video: Alexa Skill: Preberite najnovejši tweet (v tem primeru božji): 6 korakov
Video: SPY X FAMILY 2024, Maj
Anonim
Alexa Skill: Preberite najnovejši tweet (v tem primeru božji)
Alexa Skill: Preberite najnovejši tweet (v tem primeru božji)

Naredil sem Alexa spretnost za branje "Božjega zadnjega tvita" - vsebine, to je iz @TweetOfGod, 5 milijonov+ naročniškega računa, ki ga je ustvaril nekdanji pisatelj komedij Daily Show. Uporablja IFTTT (If This Then That), Googlovo preglednico in neverjetno enostaven za uporabo Alexa Skill Builder, Storyline.

Če želite dobiti predstavo o končnem rezultatu, lahko spretnost dodate v svojo napravo Alexa tukaj ali pa si predogledate spretnost na Storyline, če vaš račun Alexa ni v ZDA ali nimate naprave Alexa.

Če želite zgraditi spretnost Alexa, ki bere tweete, je to relativno enostaven način. Če uporabljate samo moje predloge, ne gre za kodiranje, če pa želite zapustiti pot, vam bo pomagalo izvedeti nekaj o kodi na splošno in zlasti o tem, kako so strukturirani klici JSON. Če pa samo posnemate to spretnost za drug račun Twitter, to ne bo zahtevalo več tehničnih veščin, kot je izrezovanje in lepljenje.

Kaj potrebujete:

  • Naprava Alexa (ali račun pri Echoism.io - odličen navidezni simulator Alexa)
  • Račun za razvijalce Alexa
  • Googlov račun, s katerim ustvarite preglednico
  • Račun pri Storyline
  • Račun z If This Then That (IFTTT)
  • Račun dropbox ali kraj, kjer lahko gostite datoteke mp3 na varnem strežniku

Vsi ti računi so brezplačni.

Ne bom se spuščal v podrobnosti o osnovah ustvarjanja veščine Storyline - na spletnem mestu so odlične vaje za učenje ustvarjanja blokov, njihove povezave in razdelitve med pogoji. Ta vadnica se bo osredotočila na tri stvari, ki sem se jih naučil pri ustvarjanju te veščine: prenašanje zvočnega učinka MP3 v vašo spretnost, povezovanje vsebine twitterja prek IFTTT in Google Preglednic ter kako iz nabora vnaprej ustvarjenih možnosti ustvariti naključni tvit.

(In velik vzklik na Alexa Skill Developerja Georgea Collierja, čigar odličen tutorial o integraciji twitterja v Alexa me je začel.)

1. korak: 1. korak: Razmislite o celotnem toku svojih veščin

1. korak: Razmislite o celotnem toku svojih spretnosti
1. korak: Razmislite o celotnem toku svojih spretnosti

Storyline je fantastičen način za ustvarjanje veščin Alexa z malo ali brez kodiranja. Bloke lahko povlečete in spustite na svoje mesto ter nastavite povezave in poti med dejanji prek enostavno razumljivega grafičnega vmesnika. Če ste kdaj uporabljali Yahoo Pipes, boste prepoznali vmesnik.

Ena izmed kul stvari pri Storylineu je, da Alexa olajša govorjenje o rezultatih katere koli poizvedbe JSON. Pridobivanje podatkov iz Googlove preglednice je preprosto z poizvedbami JSON. Prenašanje tvitov v Googlovo preglednico z If If Than That je enostavno. Enostavno. Enostavno. Enostavno.

Zdi se mi, da je najbolje, da si vse svoje sposobnosti abstraktno predstavite, preden začnete.

Ko sem razmišljal o svoji sposobnosti, sem vedel, da je njen glavni namen samo oddati najnovejši tvit. Lahko pa bi to izboljšal z malo zvočnega oblikovanja (Storyline omogoča vašo spretnost predvajanja katerega koli MP3 -ja), en tvit pa morda ne bo dovolj, da bi ljudem dali okus računa - lahko bi založil nekaj starejših tvitov in pustil uporabnik sliši enega od teh po zadnjem. Tako bi lahko moja skica toka spretnosti izgledala takole:

  1. Pozdravite uporabnika z malo izgovorjenega besedila in ustreznim uvodnim zvokom
  2. Preberite najnovejši tvit
  3. Predvajajte zvok podpisa
  4. Vprašajte uporabnika, če želi slišati starejši tvit

    1. Ja? Preberite starejši tvit.
    2. Predvajajte zvok podpisa
    3. Ne? Zapustite spretnost.

Vir "Najnovejšega tvita" je Googlova preglednica, ki jo napaja skript If This then That. Ta postopek izgleda takole:

  1. ČE je iz računa @TweetOfGod nov tvit, se kopira v preglednico
  2. Če tvit vsebuje povezavo ali sliko, ga preglednica filtrira
  3. Če je tweet ponovljen, ga preglednica filtrira
  4. Tviti, ki jih dobita ta dva filtra, se nato obdelajo za branje: # se nadomesti z besedo "Hashtag" in več drugih znakov se nadomesti z berljivimi ustrezniki
  5. Končni tvit se kopira v celico »najnovejši tvit«, ki jo Alex prebere

2. korak: 2. korak: Ustvarite prijeten pozdravni blok z uvodnim zvokom

Korak: Ustvarite prijeten pozdravni blok z uvodnim zvokom
Korak: Ustvarite prijeten pozdravni blok z uvodnim zvokom
2. korak: Ustvarite prijeten blok dobrodošlice z uvodnim zvokom
2. korak: Ustvarite prijeten blok dobrodošlice z uvodnim zvokom
Korak: Ustvarite prijeten pozdravni blok z uvodnim zvokom
Korak: Ustvarite prijeten pozdravni blok z uvodnim zvokom

Preden Alexa prebere najnovejši tvit, naključno generiram enega od štirih šaljivih nebeških zvokov. To so MP3 -ji, ki so bili za Alexa obdelani po zgodbi. Svoje MP3 -je sem našel na Freesoundu (In tam je res vse brezplačno, vendar bodite spodoben človek in pustite napitnino).

  1. Prenesite svoj MP3. Trajati mora manj kot 90 sekund. Alexa še posebej velja za obliko. Če veste, da sta MPEG različice 2 in 48 kps, lahko naslednji korak preskočite. Če pa ne veste ali je kaj drugače, ga je enostavno pretvoriti.
  2. Naložite ga v Storyline za obdelavo v njihovem zvočnem pretvorniku
  3. Preneseni zvok gosti na strežniku

Če v 3. koraku greste na "Naredi KAJ ZDAJ?" verjetno nimate dostopa do strežnika https, na katerem lahko gostite svoje datoteke. Ne skrbite, to lahko storite s dropboxom. Potrebovali boste račun, a spet brezplačen je v redu. Tu so koraki:

  1. Pojdite na https://www.dropbox.com/h in se prijavite v svoj račun.
  2. Kliknite gumb Naloži datoteke
  3. Izberite mp3 datoteko, ki ste jo pretvorili.
  4. Kliknite Skupna raba
  5. Kliknite Ustvari povezavo in kopirajte povezavo
  6. V povezavi, ki ste jo kopirali, zamenjajte "dropbox" z "dl.dropboxusercontent" brez narekovajev
  7. Kopirajte ta URL

Zdaj boste šli na dno bloka dobrodošlice in kliknili ikono glasbene note.

Prilepite svoj URL. Če želite dodati naključne različice, ponovite postopek za še nekaj datotek MP3 in kliknite meni Hamburger pod poljem za lepljenje URL -ja.

3. korak: 3. korak: Nastavite IFTTT

3. korak: Nastavite IFTTT
3. korak: Nastavite IFTTT
  1. Pojdite na svoj račun IFTTT in izberite »Ustvari nov programček«
  2. Za storitev IF izberite TWITTER.
  3. Kot sprožilec izberite "Nov tvit določenega uporabnika. Vnesite ime računa, ki mu želite slediti
  4. Kot storitev THEN izberite "Google Preglednice"
  5. Izberite "Dodaj vrstico v preglednico"
  6. V polju »Oblikovana vrstica« odstranite vse, razen polja {{TEXT}}.
  7. Ustvarite svojo spretnost.

To ustvari novo preglednico in vsakič, ko izide nov tvit, doda vrstico. Morda boste raje uporabili eno celico v preglednici in vsakič preprosto prepisali njeno vsebino. V tem primeru lahko v 5. koraku izberete možnost pisanja v eno celico. Rada zapisujem tvite, saj tiste, ki niso aktualni ali se ne odzivajo na novice, redno prestavljam v preglednico »Starejši tviti«. Če se odločite za to možnost, boste morali na svojem listu narediti nekaj vzdrževanja: po 2000 vrsticah bo ustvarjena nova.

4. korak: 4. korak: Nastavite svoj Google List

4. korak: Nastavite svoj Google List
4. korak: Nastavite svoj Google List
4. korak: Nastavite svoj Google List
4. korak: Nastavite svoj Google List
4. korak: Nastavite svoj Google List
4. korak: Nastavite svoj Google List

Ta Google Sheet je srce te posebne veščine, ker filtrira tweete, ki z Alexa ne delujejo dobro (tweeti, ki se na primer nanašajo na slike, ali tweete s povezavami), zato tweete samo z besedilom naredi veliko bolj Alexa -prijazen z nekaj preprostimi zamenjavami.

Naj IFTT ustvari vašo preglednico z nekaj vnosi - zato počakajte, da nekaj tvitov iz računa, na katerem sledite, pristane tam, odprite Google Preglednice in razvrstite po času ustvarjanja. Na vrhu boste videli svojo svetlečo novo preglednico. Zdaj bo vsak nov tvit v novi vrstici, zato želimo ustvariti formulo, ki bo filtrirala tvite, ki imajo povezave ali slike, in poiskala zadnjega v stolpcu.

Lahko samo kopirate to kopijo moje preglednice ali pa ustvarite svojo z naslednjimi koraki:

  1. Preimenujte zavihek s tweeti v "V živo iz IFTTT"
  2. V preglednico dodajte zavihek, imenovan "Obdelava tweetov"
  3. Dodajte to formulo v celico A8 na zavihku Processing Tweets:

= QUERY ('V živo iz IFTTT'! A3: A2000, "Izberite A, kjer A ne vsebuje" https "")

To potegne vse tvite, ki nimajo povezave, v stolpec A zavihka za obdelavo.

Zdaj moramo poiskati zadnji tvit v tem stolpcu. V celico B7 zavihka za obdelavo prilepite naslednjo formulo:

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

Zdaj želimo narediti nekaj zamenjav, da bi Alexa olajšali branje tvita. Ti so lahko dejansko vsi v eni celični formuli, vendar sem jih zaradi jasnosti razčlenil:

V prilepi celica B6 na zavihku Obdelava:

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

To obravnava vsebino celice spodaj in znak # nadomesti z besedo "Hashtag"

V celico B5 prilepite naslednjo ponovitev:

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

Dobiš idejo.

V celici B4 paste:

= trim (regexreplace (B6, "&", "in"))

V celici B3:

= trim (regexreplace (B6, "%", "odstotek"))

V celici B2 bomo postavili nekoliko bolj zapleteno formulo:

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

Ta se preprosto znebi VSE, kar ni številka, črka ali ena od ločil, ki jih Alexa razume.

V celici B1 bomo preprosto kopirali zadnji tvit:

= indeks (B2)

To je končno besedilo in zgodbo lahko programirate tako, da zajame to celico, če poznate nekaj JSON -a, toda zaradi poenostavitve stvari na koncu zgodbe, rad kopiram vsebino na zavihek »V živo iz IFTTT« tako, da formula v A2 na zavihku "V živo iz IFTTT":

= 'Obdelovalni center'! B1

Groovy. Zdaj je vaša preglednica nastavljena in pripravljena za branje s poizvedbo Storyline JSON.

5. korak: 5. korak: V zgodbo nastavite poizvedbo JSON "Najnovejši tweet"

5. korak: Nastavite svoj
5. korak: Nastavite svoj
5. korak: Nastavite svoj
5. korak: Nastavite svoj
5. korak: Nastavite svoj
5. korak: Nastavite svoj
  1. Pojdite na pozdravni blok svoje zgodbe in dodajte korak "Kaj pravi Alexa".
  2. Dodajte uvodni stavek, na primer "Tukaj je najnovejši tvit podjetja TheTweetOfGod:"
  3. Če želite dodati različice, uporabite meni Hamburger
  4. Kliknite malo puščico desno in izberite "Ustvari nov blok"

Svoj novi blok sem poimenoval "Get God Tweet" Naloga tukaj je, da iz celice A2 primarnega zavihka prenesem najnovejši filtriran tweet. To naredite tako, da pridobite podatke z zahtevo JSON, posredovano prek API -ja Google Sheets: To ni nič drugega kot domišljen URL.

  1. Kliknite ikono na desni strani novega bloka, da dodate zahtevo JSON.
  2. Poimenujte svojo zahtevo API. Svojo sem poklical "GetGodTweet"
  3. URL svoje preglednice poiščite tako:

    1. V svoji preglednici kliknite Datoteka -> Objavi v spletu.
    2. Uporabite privzete vrednosti in kliknite »Objavi«
    3. Kopirajte URL in ga prilepite v datoteko z opombami.

Moj primer je:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/png?hl=sl" dolg ta dokument, potreben za ta dokument To je delček med /d /e in naslednjim /znakom. Torej v tem primeru:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

To dolgo številko zamenjate za bit na naslednjem urlu, ki pravi "SPREASHEET_ID":

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

  1. Zdaj vzemite tisti URL in ga prilepite v polje URL poizvedbe JSON v Storyline.
  2. Izberite možnost "GET"
  3. Polje »Glave« pustite prazno
  4. V naslednjem polju boste ustvarili spremenljivko z vsebino celice A2 prvega zavihka, tako da prilepite to formulo v:

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

Spremenljivka se imenuje "tweet". Kopira vsebino s primarnega zavihka 0.

Če pod poizvedbo JSON dodate blok »Alexa Says« in v ukrivljene oklepaje vnesete samo besedo {{tweet}}, bo Alexa povedala vsebino celice. Prepričajte se, da se velika črka ujema s spremenljivko, ki ste jo imenovali v 4. koraku !!!

Pritisnite gumb PLAY na Storyline in preizkusite svoje sposobnosti! Če dobite besedo "Nič", to pomeni, da je pri zahtevi za API nekaj narobe.

To je res za osnovne spretnosti. Z drugim MP3 sem dodal smešen zvočni podpis in vprašal, ali želi uporabnik slišati starejši tvit. Naslednji korak vam pokaže lep trik za ustvarjanje naključnega starejšega tvita, vendar je za tiste, ki želijo svoji spretnosti dodati nekaj dodatne uporabnosti.

6. korak: Izbirno dodatno: Ustvarjanje naključnega rezultata iz Google Preglednic za branje Alexa

Neobvezno Dodatno: Ustvarjanje naključnega rezultata iz Google Preglednic za branje Alexa
Neobvezno Dodatno: Ustvarjanje naključnega rezultata iz Google Preglednic za branje Alexa

Če želite naključno ustvariti enega od nabora starejših tvitov, je tu odličen trik.

V svoji preglednici sem ustvaril tretji zavihek, imenovan "Starejši tviti". Vse to zaseda celice A1-A36 v moji preglednici

  1. V Storyline ustvarite nov blok z imenom "Oldertweets"
  2. Dodajte korak poizvedbe JSON
  3. Daj mu ime
  4. V polju URL uporabite isti URL API, ki ste ga ustvarili z ID -jem preglednice v koraku Najnovejši tweet, z eno različico:

    Spremenite bit proti koncu, ki pravi/od6/basic/public na/3/basic/public - to kliče TAB 3 namesto Tab 1

  5. Izberite "GET"
  6. Pustite glave prazne
  7. V naslednje polje prilepite to:

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

Ustvarili ste novo spremenljivko, imenovano "oldtweet", in ta majhna beseda "naključno" pomeni, da se bo spremenljivka spremenila vsakič, ko se pokliče poizvedba JSON.

Dodajte še en korak »Alexa Says« in vnesite novo spremenljivko, {{oldtweet}} s temi zavitimi oklepaji. Boom! Naključna dobrota!

Če ste uživali v tem Instructableu, prosim, dajte moji sposobnosti nekaj zvezdic ali pregled!

Priporočena: