Sommario:

Abilità di Alexa: leggi l'ultimo Tweet (in questo caso, di Dio): 6 passaggi
Abilità di Alexa: leggi l'ultimo Tweet (in questo caso, di Dio): 6 passaggi

Video: Abilità di Alexa: leggi l'ultimo Tweet (in questo caso, di Dio): 6 passaggi

Video: Abilità di Alexa: leggi l'ultimo Tweet (in questo caso, di Dio): 6 passaggi
Video: Oh Mickey… #fail #viral 2024, Novembre
Anonim
Abilità Alexa: leggi l'ultimo Tweet (in questo caso, di Dio)
Abilità Alexa: leggi l'ultimo Tweet (in questo caso, di Dio)

Ho creato un'abilità di Alexa per leggere "L'ultimo tweet di Dio" - il contenuto, ovvero da @TweetOfGod, l'account di oltre 5 milioni di abbonati creato da un ex scrittore di commedie del Daily Show. Utilizza IFTTT (If This Then That), un foglio di calcolo di Google e l'Alexa Skill Builder, Storyline, incredibilmente facile da usare.

Per avere un'idea del risultato finale, puoi aggiungere l'abilità al tuo dispositivo Alexa qui oppure puoi visualizzare l'anteprima dell'abilità su Storyline se il tuo account Alexa non è negli Stati Uniti o non hai un dispositivo Alexa.

Se vuoi creare un'abilità di Alexa che legge i tweet, questo è un modo relativamente semplice per farlo. Non è necessaria alcuna codifica se si utilizzano solo i miei modelli, ma se si desidera allontanarsi dal percorso è utile conoscere un po' il codice in generale e in particolare come sono strutturate le chiamate JSON. Ma se stai solo replicando questa abilità per un altro account Twitter, non richiederà competenze tecniche oltre al taglia e incolla.

Di cosa avrai bisogno:

  • Un dispositivo Alexa (o un account con Echoism.io - un ottimo simulatore virtuale Alexa)
  • Un account sviluppatore Alexa
  • Un account google per creare un foglio di calcolo con
  • Un account con Storyline
  • Un account con If This Then That (IFTTT)
  • Un account Dropbox o un luogo in cui è possibile ospitare file mp3 su un server sicuro

Tutti questi account sono gratuiti.

Non entrerò nei dettagli sulle basi di come creare un'abilità Storyline: ci sono eccellenti tutorial sul sito per imparare a creare blocchi, collegarli e ramificare tra le condizioni. Questo tutorial si concentrerà su tre cose che ho imparato costruendo questa abilità: ottenere un effetto sonoro MP3 nella tua abilità, connettere i contenuti di Twitter tramite IFTTT e Fogli Google e come generare un tweet casuale da una serie di opzioni pre-create.

(E un grande ringraziamento allo sviluppatore di abilità di Alexa George Collier, il cui eccellente tutorial su come integrare Twitter in Alexa mi ha fatto iniziare.)

Passaggio 1: Passaggio 1: pensa al flusso complessivo delle tue abilità

Passaggio 1: pensa al flusso complessivo della tua abilità
Passaggio 1: pensa al flusso complessivo della tua abilità

La trama è un modo fantastico per creare abilità di Alexa con poca o nessuna codifica. Puoi trascinare i blocchi in posizione e impostare connessioni e percorsi tra le azioni attraverso un'interfaccia grafica di facile comprensione. Se hai mai usato Yahoo Pipes, riconoscerai l'interfaccia.

Ora, una delle cose interessanti di Storyline è che rende abbastanza facile convincere Alexa a pronunciare i risultati di qualsiasi query JSON. Ottenere dati da un foglio di calcolo di Google è facile con le query JSON. Ottenere tweet IN un foglio di calcolo di Google con If This Than That è facile. Facile. Facile. Facile.

Trovo che sia meglio visualizzare la tua intera abilità in astratto prima di iniziare.

Quando ho pensato alle mie capacità, sapevo che il suo scopo principale era solo quello di fornire l'ultimo tweet. Ma potrei migliorarlo con un po' di sound design (la trama consente alla tua abilità di riprodurre qualsiasi MP3), e un tweet potrebbe non essere sufficiente per dare alle persone un'idea dell'account: potrei accumulare alcuni dei tweet più vecchi e lasciare l'utente sente uno di quelli dopo l'ultimo. Quindi il mio schizzo del flusso di abilità potrebbe essere simile a questo:

  1. Accogli l'utente con un po' di testo parlato e un suono introduttivo appropriato
  2. Leggi l'ultimo tweet
  3. Riproduci un suono caratteristico
  4. Chiedi all'utente se desidera ascoltare un tweet più vecchio

    1. Sì? Leggi un tweet più vecchio.
    2. Riproduci il suono caratteristico
    3. No? Esci dall'abilità.

La fonte dell'"Ultimo Tweet" è un foglio di calcolo di Google, alimentato da uno script If This Then That. Quel processo assomiglia a questo:

  1. SE c'è un nuovo tweet dall'account @TweetOfGod, viene copiato nel foglio di calcolo
  2. Se il tweet contiene un collegamento o un'immagine, il foglio di calcolo lo filtra
  3. Se il tweet è un retweet, il foglio di calcolo lo filtra
  4. I tweet che ottengono questi due filtri vengono quindi elaborati per la lettura: # viene sostituito con la parola "Hashtag" e molti altri caratteri vengono sostituiti con equivalenti leggibili
  5. Il tweet finale viene copiato nella cella "ultimo tweet" che Alex legge

Passaggio 2: Passaggio 2: crea un bel blocco di benvenuto con il suono introduttivo

Passaggio 2: crea un bel blocco di benvenuto con il suono introduttivo
Passaggio 2: crea un bel blocco di benvenuto con il suono introduttivo
Passaggio 2: crea un bel blocco di benvenuto con il suono introduttivo
Passaggio 2: crea un bel blocco di benvenuto con il suono introduttivo
Passaggio 2: crea un bel blocco di benvenuto con il suono introduttivo
Passaggio 2: crea un bel blocco di benvenuto con il suono introduttivo

Prima che Alexa legga l'ultimo tweet, genero casualmente uno dei quattro divertenti suoni celesti. Questi sono MP3 che sono stati elaborati per Alexa dalla trama. Ho trovato i miei MP3 su Freesound (e tutto quello che c'è è davvero gratuito, ma sii un essere umano decente e lascia una mancia).

  1. Scarica il tuo MP3. Deve essere inferiore a 90 secondi. Alexa è particolare riguardo al formato. Se sai che è MPEG Versione 2 e 48kps, puoi saltare il passaggio successivo. Ma se non lo sai o è qualcosa di diverso, è facile da convertire.
  2. Caricalo su Storyline per l'elaborazione sul loro convertitore audio
  3. Ospita l'audio scaricato su un server

Se il passaggio 3 ti dice "FARE COSA ORA?" probabilmente non hai accesso a un server https su cui puoi ospitare i tuoi file. Non preoccuparti, puoi farlo con Dropbox. Avrai bisogno di un account, ma ancora una volta, uno gratuito va bene. Ecco i passaggi:

  1. Vai su https://www.dropbox.com/h e accedi al tuo account.
  2. Fare clic sul pulsante Carica file
  3. Seleziona il file mp3 che hai convertito.
  4. Fai clic su Condividi
  5. Fai clic su Crea un collegamento e Copia il collegamento
  6. Nel link che hai copiato, sostituisci "dropbox" con "dl.dropboxusercontent" senza le virgolette
  7. Copia quell'URL

Ora vai in fondo al tuo blocco di benvenuto e fai clic sull'icona della nota musicale.

Incolla il tuo URL. Se desideri aggiungere variazioni casuali, ripeti il processo per altri MP3 e fai clic sul menu Hamburger sotto la casella di incollaggio URL.

Passaggio 3: Passaggio 3: configurare IFTTT

Passaggio 3: configura IFTTT
Passaggio 3: configura IFTTT
  1. Vai al tuo account IFTTT e seleziona "Crea una nuova applet"
  2. Seleziona TWITTER come servizio IF.
  3. Seleziona "Nuovo tweet di un utente specifico come trigger. Inserisci il nome dell'account che vuoi seguire
  4. Seleziona "Fogli Google" come servizio THEN
  5. Seleziona "Aggiungi riga al foglio di calcolo"
  6. Nel campo "Riga formattata", rimuovi tutto tranne il campo {{TEXT}}.
  7. Crea la tua abilità.

Questo crea un nuovo foglio di calcolo e aggiunge una riga ogni volta che esce un nuovo tweet. Potresti preferire utilizzare una singola cella sul foglio di calcolo e sovrascriverne semplicemente il contenuto ogni volta. In tal caso, nel passaggio 5 puoi scegliere l'opzione per scrivere su una singola cella. Mi piace tenere traccia dei tweet, poiché periodicamente sposto quelli che non sono di attualità o che reagiscono alle notizie in un foglio di calcolo "Tweet più vecchi". Tieni presente che se scegli questa opzione, dovrai fare un po' di manutenzione sul tuo foglio: ne verrà creato uno nuovo dopo 2000 righe.

Passaggio 4: Passaggio 4: imposta il tuo foglio Google

Passaggio 4: imposta il tuo foglio Google
Passaggio 4: imposta il tuo foglio Google
Passaggio 4: imposta il tuo foglio Google
Passaggio 4: imposta il tuo foglio Google
Passaggio 4: imposta il tuo foglio Google
Passaggio 4: imposta il tuo foglio Google

Questo foglio Google è il cuore di questa particolare abilità, perché filtra i tweet che non funzionano molto bene con Alexa (tweet che fanno riferimento a immagini, ad esempio, o tweet con link) e rende i tweet di solo testo molto più Alexa -friendly con alcune semplici sostituzioni.

Lascia che IFTT crei il tuo foglio di calcolo con poche voci, quindi attendi che alcuni tweet dall'account del tuo monitoraggio arrivino lì, apri Fogli Google e ordina in base all'ora creata. Vedrai il tuo nuovo brillante foglio di calcolo proprio in alto. Ora, ogni nuovo tweet sarà in una nuova riga, quindi vogliamo creare una formula che filtrerà i tweet che hanno collegamenti o immagini e scorrerà per trovare l'ultimo nella colonna.

Puoi semplicemente replicare questa copia del mio foglio di calcolo oppure puoi crearne uno tuo con i seguenti passaggi:

  1. Rinominare la scheda con i tweet "Live da IFTTT"
  2. Aggiungi una scheda chiamata "Elaborazione dei tweet" al foglio di calcolo
  3. Aggiungi questa formula nella cella A8 della scheda Elaborazione Tweet:

=QUERY('In diretta da IFTTT'!A3:A2000, "Seleziona A dove non A contiene 'https' ")

Ciò trascina tutti i tweet che non hanno un collegamento nella colonna A della scheda di elaborazione.

Ora dobbiamo trovare l'ultimo tweet in quella colonna. Incolla la seguente formula nella cella B7 della scheda di elaborazione:

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

Ora vogliamo fare alcune sostituzioni per rendere il tweet più facile da leggere per Alexa. Questi possono effettivamente essere tutti uno in una formula a cella singola, ma li ho interrotti per chiarezza:

Nella cella B6 incolla della scheda Elaborazione:

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

Che esamina il contenuto della cella sottostante e sostituisce il segno # con la parola "Hashtag"

Nella cella B5 incolla l'iterazione successiva:

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

Hai l'idea.

Nella cella B4 incolla:

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

Nella cella B3:

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

Nella cella B2 inseriremo una formula leggermente più complicata:

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

Questo elimina semplicemente QUALSIASI COSA che non sia un numero, una lettera o uno dei punti di punteggiatura che Alexa capisce.

Nella cella B1 copieremo semplicemente il tweet finale:

=indice(B2)

Questo è il testo finale e puoi programmare la trama per catturare quella cella se conosci un po' di JSON, ma per rendere le cose un po' più semplici alla fine della trama, mi piace copiare i contenuti nella scheda "Live da IFTTT" inserendo questo formula in A2 nella scheda "In diretta da IFTTT":

='Centro di elaborazione'!B1

Groovy. Ora il tuo foglio di calcolo è pronto e pronto per essere letto da una query JSON Storyline.

Passaggio 5: Passaggio 5: imposta la query JSON "Ultimo tweet" in Storyline

Passaggio 5: configura il tuo
Passaggio 5: configura il tuo
Passaggio 5: configura il tuo
Passaggio 5: configura il tuo
Passaggio 5: configura il tuo
Passaggio 5: configura il tuo
  1. Vai al blocco di benvenuto della tua abilità della trama e aggiungi un passaggio "Cosa dice Alexa".
  2. Aggiungi una frase introduttiva come "Ecco l'ultimo tweet di TheTweetOfGod:"
  3. Usa il menu Hamburger per aggiungere variazioni
  4. Fare clic sulla piccola freccia verso destra e selezionare "Crea nuovo blocco"

Ho chiamato il mio nuovo blocco "Get God Tweet" Il compito qui è andare a recuperare l'ultimo tweet filtrato dalla cella A2 del foglio di calcolo della scheda principale. Lo fai recuperando i dati con una richiesta JSON consegnata tramite l'API di Fogli Google: non è altro che un URL di fantasia.

  1. Fai clic sulla piccola icona all'estrema destra del tuo nuovo blocco per aggiungere una richiesta JSON.
  2. Assegna un nome alla tua richiesta API. Ho chiamato il mio "GetGodTweet"
  3. Trova l'URL del tuo foglio di lavoro in questo modo:

    1. Fare clic su File -> Pubblica sul Web nel foglio di calcolo.
    2. Utilizza i valori predefiniti e fai clic su "Pubblica"
    3. Copia l'URL e incollalo in un file di note.

Il mio esempio è:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/pubhtml" da quella lunga stringa dell'ID del documento. È il bit tra /d/e e il successivo /charcter. Quindi in questo caso:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Scambia quel numero lungo con il bit nel seguente URL che dice "SPREASHEET_ID":

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

  1. Ora prendi QUEL URL e incollalo nella casella URL della query JSON in Storyline.
  2. Seleziona l'opzione "OTTIENI"
  3. Lascia vuota la casella "Intestazioni"
  4. Nella casella successiva, creerai una variabile con il contenuto della cella A2 della tua prima scheda incollando questa formula in:

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

La variabile si chiama "tweet". Sta copiando i contenuti dalla scheda primaria 0.

Ora se aggiungi un blocco "Alexa Says" sotto la tua query JSON e metti solo la parola {{tweet}} tra parentesi graffe, Alexa dirà il contenuto della cella. Assicurati che il caso corrisponda alla variabile che hai nominato nel passaggio 4!!!

Premi il pulsante GIOCA su Storyline e metti alla prova le tue abilità! Se ottieni la parola "Null" significa che qualcosa è andato storto con la tua richiesta API.

Questo è davvero tutto per l'abilità di base. Ho aggiunto una piccola firma audio divertente con un altro MP3 e ho chiesto se l'utente desidera ascoltare un tweet più vecchio. Il prossimo passo ti mostra un bel trucco per generare un tweet più vecchio casuale, ma è glassato per coloro che vogliono portare la loro abilità in più usabilità.

Passaggio 6: extra opzionale: generazione di un risultato casuale da Fogli Google per la lettura da parte di Alexa

Extra opzionale: generazione di un risultato casuale da Fogli Google per la lettura da parte di Alexa
Extra opzionale: generazione di un risultato casuale da Fogli Google per la lettura da parte di Alexa

Se vuoi generare casualmente uno di una serie di tweet più vecchi, ecco un trucco intelligente.

Ho creato una terza scheda nel mio foglio di calcolo chiamata "Tweet più vecchi". Questi occupano tutti le celle A1-A36 nel mio foglio di calcolo

  1. In Storyline, crea un nuovo blocco chiamato "Oldertweets"
  2. Aggiungi un passaggio di query JSON
  3. Dagli un nome
  4. Nella casella URL, utilizza lo stesso URL API che hai creato con il tuo ID foglio di lavoro nel passaggio Ultimo tweet, con una variante:

    Cambia il bit verso la fine che dice /od6/basic/public in /3/basic/public - questo chiama TAB 3 invece di Tab 1

  5. Seleziona "OTTIENI"
  6. Lascia le intestazioni vuote
  7. Nella casella successiva, incolla questo:

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

Hai creato una nuova variabile, chiamata "oldtweet" e quella parolina "casuale" significa che la variabile cambierà ogni volta che viene chiamata la query JSON.

Aggiungi un altro passaggio "Alexa Says" e inserisci la tua nuova variabile, {{oldtweet}} con quelle parentesi graffe. Boom! Bontà a caso!

Se ti è piaciuto questo Instructable, per favore dai alla mia abilità qualche stella o una recensione!

Consigliato: