Sadržaj:

Alexa vještina: Pročitajte najnoviji tweet (u ovom slučaju Božji): 6 koraka
Alexa vještina: Pročitajte najnoviji tweet (u ovom slučaju Božji): 6 koraka

Video: Alexa vještina: Pročitajte najnoviji tweet (u ovom slučaju Božji): 6 koraka

Video: Alexa vještina: Pročitajte najnoviji tweet (u ovom slučaju Božji): 6 koraka
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Svibanj
Anonim
Alexa Skill: Pročitajte najnoviji tweet (u ovom slučaju Božji)
Alexa Skill: Pročitajte najnoviji tweet (u ovom slučaju Božji)

Napravio sam Alexa vještinu za čitanje "Najnovijeg Božjeg tvita" - sadržaja, odnosno s @TweetOfGod, računa od 5 milijuna+ pretplatnika koji je stvorio bivši pisac komedije Daily Show. Koristi IFTTT (If This Then That), Google proračunsku tablicu i nevjerojatno jednostavan za korištenje Alexa Skill Builder, Storyline.

Da biste stekli predodžbu o krajnjem rezultatu, možete dodati vještinu na svoj Alexa uređaj ovdje ili možete pregledati vještinu na Storyline -u ako vaš Alexa račun nije u SAD -u ili nemate Alexa uređaj.

Ako želite izgraditi Alexa vještinu koja čita tweetove, ovo je relativno jednostavan način za to. Ne koristite kodiranje ako samo koristite moje predloške, ali ako želite odlutati s puta, pomaže vam znati nešto o kodu općenito, a posebno o tome kako su JSON pozivi strukturirani. Ali ako samo ponavljate ovu vještinu za drugi Twitter račun, to neće zahtijevati tehničke vještine osim izrezivanja i lijepljenja.

Što će vam trebati:

  • Alexa uređaj (ili račun s Echoism.io - odličnim Alexa virtualnim simulatorom)
  • Alexa Developer račun
  • Google račun s kojim možete izraditi proračunsku tablicu
  • Račun sa Storylineom
  • Račun s If This Then That (IFTTT)
  • Dropbox račun ili mjesto na kojem možete smjestiti mp3 datoteke na sigurnom poslužitelju

Svi su ti računi besplatni.

Neću ulaziti u detalje o osnovama stvaranja vještine Storyline - na web mjestu postoje izvrsni vodiči za učenje stvaranja blokova, povezivanja i grananja između uvjeta. Ovaj će se vodič usredotočiti na tri stvari koje sam naučio izgrađujući ovu vještinu: uvođenje MP3 zvučnog efekta u vašu vještinu, povezivanje sadržaja na Twitteru putem IFTTT-a i Google tablica i kako generirati nasumični tweet iz skupa unaprijed stvorenih opcija.

(I veliki pozdrav za Alexa Skill Developera Georgea Colliera, čiji me izvrstan vodič o integraciji twittera u Alexa potaknuo.)

Korak 1: Korak 1: Razmislite o ukupnom toku svoje vještine

Korak 1: Razmislite o ukupnom toku svoje vještine
Korak 1: Razmislite o ukupnom toku svoje vještine

Storyline je fantastičan način za stvaranje Alexa vještina s malo ili bez kodiranja. Blokove možete povući i ispustiti na mjesto i postaviti veze i puteve između radnji putem grafičkog sučelja koje je lako razumjeti. Ako ste ikada koristili Yahoo Pipes, prepoznat ćete sučelje.

Jedna od super stvari vezanih uz Storyline je to što Alexa čini prilično lakim navođenjem Alexa da govori o rezultatima bilo kojeg JSON upita. Dobivanje podataka iz Google proračunske tablice jednostavno je pomoću JSON upita. Dobivanje tvitova u google proračunsku tablicu pomoću If This Than That je jednostavno. Lako. Lako. Lako.

Smatram da je najbolje samo apstraktno vizualizirati cijelu svoju vještinu prije nego počnete.

Kad sam razmišljao o svojoj vještini, znao sam da joj je primarna svrha samo dostaviti najnoviji tweet. No, mogao bih to poboljšati s malo zvučnog dizajna (Storyline dopušta vašoj vještini sviranje bilo kojeg MP3 -a), a jedan tvit možda neće biti dovoljan da ljudima da okus računa - mogao bih opskrbiti neke od starijih tweetova i dopustiti korisnik čuje jednu od njih nakon najnovijeg. Tako bi moja skica toka vještina mogla izgledati ovako:

  1. Dobrodošli korisniku s malo izgovorenog teksta i odgovarajućim uvodnim zvukom
  2. Pročitajte najnoviji tweet
  3. Reproducirajte zvuk s potpisom
  4. Pitajte korisnika želi li čuti stariji tweet

    1. Da? Pročitajte stariji tweet.
    2. Reproducirajte zvuk s potpisom
    3. Ne? Napustite vještinu.

Izvor "Najnovijeg tvita" je google proračunska tablica, koju hrani skripta If This Then That. Taj proces izgleda ovako:

  1. AKO postoji novi tweet s računa @TweetOfGod, on se kopira u proračunsku tablicu
  2. Ako tweet sadrži vezu ili sliku, proračunska tablica to filtrira
  3. Ako je tweet retweet, proračunska tablica ga filtrira
  4. Tweetovi koje dobiju ta dva filtra obrađuju se za čitanje: # se zamjenjuje riječju "Hashtag", a nekoliko drugih znakova zamjenjuje se čitljivim ekvivalentima
  5. Posljednji tweet kopira se u ćeliju "najnovijeg tvita" koju Alex čita

Korak 2: Korak 2: Napravite lijep blok dobrodošlice s uvodnim zvukom

Korak 2: Napravite lijep blok dobrodošlice s uvodnim zvukom
Korak 2: Napravite lijep blok dobrodošlice s uvodnim zvukom
Korak 2: Napravite lijep blok dobrodošlice s uvodnim zvukom
Korak 2: Napravite lijep blok dobrodošlice s uvodnim zvukom
Korak 2: Napravite lijep blok dobrodošlice s uvodnim zvukom
Korak 2: Napravite lijep blok dobrodošlice s uvodnim zvukom

Prije nego Alexa pročita najnoviji tweet, nasumično generiram jedan od četiri šaljiva nebeska zvuka. Ovo su MP3 -i koji su za Alexa obrađeni po priči. Našao sam svoje MP3 datoteke na Freesoundu (i tamo je zaista sve besplatno, ali budite pristojno ljudsko biće i ostavite napojnicu).

  1. Preuzmite svoj MP3. Potrebno je manje od 90 sekundi. Alexa se posebno odnosi na format. Ako znate da je MPEG verzija 2 i 48 kps, možete preskočiti sljedeći korak. Ali ako ne znate ili je nešto drugačije, lako je pretvoriti.
  2. Prenesite ga u Storyline za obradu na njihovom Audio Converteru
  3. Snimljeni zvuk smjestite na HTTPS poslužitelj

Ako u trećem koraku idete "URADITE ŠTA SADA?" vjerojatno nemate pristup https poslužitelju na kojem možete smjestiti svoje datoteke. Ne brinite, to možete učiniti s dropboxom. Trebat će vam račun, ali opet, besplatni je u redu. Evo koraka:

  1. Idite na https://www.dropbox.com/h i prijavite se na svoj račun.
  2. Pritisnite gumb Prijenos datoteka
  3. Odaberite mp3 datoteku koju ste pretvorili.
  4. Pritisnite Podijeli
  5. Pritisnite Stvori vezu i Kopirajte vezu
  6. U kopiranoj vezi zamijenite "dropbox" sa "dl.dropboxusercontent" bez navodnika
  7. Kopirajte taj URL

Sada ćete otići na dno bloka dobrodošlice i kliknuti ikonu Glazbena nota.

Zalijepite svoj URL. Ako želite dodati slučajne varijacije, ponovite postupak za još nekoliko MP3 zapisa i kliknite izbornik Hamburger ispod okvira za lijepljenje URL -a.

Korak 3: Korak 3: Postavite IFTTT

Korak 3: Postavite IFTTT
Korak 3: Postavite IFTTT
  1. Idite na svoj IFTTT račun i odaberite "Izradi novi applet"
  2. Odaberite TWITTER kao IF uslugu.
  3. Odaberite "Novi tweet određenog korisnika kao okidač. Unesite naziv računa koji želite pratiti
  4. Odaberite "Google tablice" kao uslugu THEN
  5. Odaberite "Dodaj redak u proračunsku tablicu"
  6. U polju "Formatirani redak" uklonite sve osim polja {{TEXT}}.
  7. Stvorite svoju vještinu.

Time se stvara nova proračunska tablica i dodaje redak svaki put kad se pojavi novi tweet. Možda ćete radije upotrijebiti jednu ćeliju u proračunskoj tablici i svaki put jednostavno prebrisati njezin sadržaj. U tom slučaju, u koraku 5 možete odabrati opciju pisanja u jednu ćeliju. Volim voditi evidenciju o tvitovima jer povremeno premještam one koji nisu aktualni ili reagiraju na vijesti u proračunsku tablicu "Stariji tweetovi". Imajte na umu da ćete, ako odaberete ovu opciju, morati izvršiti određeno održavanje na svom listu: novi će se stvoriti nakon 2000 redaka.

Korak 4: Korak 4: Postavite Google tablicu

Korak 4: Postavite Google tablicu
Korak 4: Postavite Google tablicu
Korak 4: Postavite Google tablicu
Korak 4: Postavite Google tablicu
Korak 4: Postavite Google tablicu
Korak 4: Postavite Google tablicu

Ova Google tablica srce je ove posebne vještine jer filtrira tweetove koji ne funkcioniraju baš najbolje s Alexa (tweetovi koji se odnose na slike, na primjer, ili tweetove s vezama) i čini tweetove samo s tekstom mnogo više Alexa -prijateljski s nekoliko jednostavnih zamjena.

Dopustite IFTT -u da izradi vašu proračunsku tablicu s nekoliko unosa - pa pričekajte da tamo stigne nekoliko tweetova s računa za praćenje, otvorite Google tablice i sortirajte prema vremenu kreiranja. Vidjet ćete svoju sjajnu novu proračunsku tablicu na vrhu. Sada će svaki novi tweet biti u novom retku, pa želimo stvoriti formulu koja će filtrirati tweetove koji imaju veze ili slike i proći kroz njih kako bi pronašli posljednji u stupcu.

Možete samo kopirati ovu kopiju moje proračunske tablice ili možete izraditi vlastitu sa sljedećim koracima:

  1. Preimenujte karticu s tvitovima u "Uživo s IFTTT -a"
  2. U tablicu dodajte karticu pod nazivom "Obrada tweetova"
  3. Dodajte ovu formulu u ćeliju A8 kartice Processing Tweets:

= QUERY ('Uživo s IFTTT -a'! A3: A2000, "Odaberite A Gdje A ne sadrži" https "")

To povlači sve tweetove koji nemaju vezu u stupac A vaše kartice za obradu.

Sada moramo pronaći zadnji tweet u toj koloni. Zalijepite sljedeću formulu u ćeliju B7 kartice za obradu:

= INDEKS (FILTER (A: A, NOT (ISBLANK (A: A))), REDOVI (FILTER (A: A, NOT (ISBLANK (A: A)))))

Sada želimo napraviti nekoliko zamjena kako bismo Alexa olakšali čitanje tvita. Sve to zapravo može biti jedno u jednoj ćelijskoj formuli, ali sam ih razjasnio radi jasnoće:

U zalijepljenoj ćeliji B6 kartice Obrada:

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

To gleda sadržaj donje ćelije i zamjenjuje znak # riječju "Hashtag"

U ćeliju B5 zalijepite sljedeću iteraciju:

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

Shvaćate ideju.

U stanici B4 tijesto:

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

U ćeliji B3:

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

U ćeliju B2 postavit ćemo malo složeniju formulu:

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

Ovaj se jednostavno rješava NIŠEGA što nije broj, slovo ili jedna od interpunkcijskih točaka koje Alexa razumije.

U ćeliji B1 jednostavno ćemo kopirati posljednji tweet:

= indeks (B2)

To je konačni tekst i možete programirati priču kako biste uhvatili tu ćeliju ako znate malo JSON -a, ali da pojednostavnim stvari na kraju priče, volim kopirati sadržaj na karticu "Uživo s IFTTT -a" stavljanjem ove formula u A2 na kartici "Uživo s IFTTT -a":

= 'Centar za obradu'! B1

Groovy. Sada je vaša proračunska tablica postavljena i spremna za čitanje pomoću Storyline JSON upita.

Korak 5: Korak 5: Postavite svoj JSON upit "Najnoviji tweet" u Storyline

Korak 5: Postavite svoj
Korak 5: Postavite svoj
Korak 5: Postavite svoj
Korak 5: Postavite svoj
Korak 5: Postavite svoj
Korak 5: Postavite svoj
  1. Idite na blok dobrodošlice svoje vještine priče i dodajte korak "Što Alexa kaže".
  2. Dodajte uvodnu frazu poput "Evo najnovijeg tvita od TheTweetOfGoda:"
  3. Pomoću izbornika Hamburger dodajte varijacije
  4. Pritisnite malu strelicu nadesno i odaberite "Izradi novi blok"

Svoj novi blok nazvao sam "Get God Tweet" Zadatak je ovdje dohvatiti taj najnoviji, filtrirani tweet iz ćelije proračunske tablice A2 primarne kartice. To činite dohvaćanjem podataka pomoću JSON zahtjeva isporučenog putem API -ja Google tablica: To zapravo nije ništa drugo do fancy URL.

  1. Kliknite malu ikonu krajnje desno na vašem novom bloku da biste dodali JSON zahtjev.
  2. Imenujte svoj zahtjev za API. Svoju sam nazvao "GetGodTweet"
  3. Pronađite URL svoje proračunske tablice na sljedeći način:

    1. Kliknite Datoteka -> Objavi na webu u svojoj proračunskoj tablici.
    2. Koristite zadane vrijednosti i samo kliknite "Objavi"
    3. Kopirajte URL i zalijepite ga u datoteku bilješke.

Moj primjer je:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/publog?hl=sr" to To je bit između /d /e i sljedećeg /znaka. Dakle u ovom slučaju:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Zamijenite taj dugi broj za bit u sljedećem URL -u koji kaže "SPREASHEET_ID":

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

  1. Sada uzmite TAJ URL i zalijepite ga u okvir URL -a JSON upita u priči.
  2. Odaberite opciju "DOBI"
  3. Ostavite polje "Zaglavlja" prazno
  4. U sljedećem okviru stvorit ćete varijablu sa sadržajem ćelije A2 prve kartice lijepljenjem ove formule u:

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

Varijabla se naziva "tweet". Kopira sadržaj s primarne kartice 0.

Sada, ako ispod vašeg JSON upita dodate blok "Alexa Says", a u kovrčave zagrade stavite samo riječ {{tweet}}, Alexa će izgovoriti sadržaj ćelije. Uvjerite se da se velika slova podudaraju s varijablom koju ste imenovali u koraku 4 !!!

Pritisnite gumb PLAY na Storyline -u i provjerite svoju vještinu! Ako dobijete riječ "Null", to znači da je nešto pošlo po zlu s vašim zahtjevom za API.

To je doista to za osnovnu vještinu. Dodao sam smiješan mali audio potpis s drugim MP3 -om i upitao želi li korisnik čuti stariji tweet. Sljedeći korak pokazuje vam lijep trik za generiranje slučajnog starijeg tvita, ali je zamrznut za one koji žele svojoj vještini dodati dodatnu upotrebljivost.

Korak 6: Dodatno po izboru: Generiranje slučajnog rezultata iz Google tablica za čitanje Alexa

Dodatni izbor: Generiranje slučajnog rezultata iz Google tablica za čitanje Alexa
Dodatni izbor: Generiranje slučajnog rezultata iz Google tablica za čitanje Alexa

Ako želite nasumično generirati jedan od niza starijih tweetova, evo sjajnog trika.

U svojoj proračunskoj tablici stvorio sam treću karticu pod nazivom "Stariji tweetovi". Svi oni zauzimaju ćelije A1-A36 u mojoj proračunskoj tablici

  1. U Storylineu izradite novi blok pod nazivom "Oldertweets"
  2. Dodajte korak upita JSON upita
  3. Dajte mu ime
  4. U okviru URL -a upotrijebite isti API API koji ste konstruirali s ID -om proračunske tablice u koraku Najnoviji tweet, s jednom varijacijom:

    Promijenite bit prema kraju koji kaže/od6/basic/public na/3/basic/public - ovo poziva TAB 3 umjesto Tab 1

  5. Odaberite "DOBI"
  6. Ostavite zaglavlja prazna
  7. U sljedeći okvir zalijepite ovo:

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

Napravili ste novu varijablu, nazvanu "oldtweet", a ta mala riječ "slučajno" znači da će se varijabla mijenjati svaki put kada se pozove JSON upit.

Dodajte još jedan korak "Alexa Says" i umetnite svoju novu varijablu, {{oldtweet}} s tim kovrčavim zagradama. Bum! Slučajna dobrota!

Ako vam se svidio ovaj Instructable, dajte mojoj vještini nekoliko zvjezdica ili recenziju!

Preporučeni: