Tabla de contenido:

Habilidad de Alexa: lea el último tweet (en este caso, el de Dios): 6 pasos
Habilidad de Alexa: lea el último tweet (en este caso, el de Dios): 6 pasos

Video: Habilidad de Alexa: lea el último tweet (en este caso, el de Dios): 6 pasos

Video: Habilidad de Alexa: lea el último tweet (en este caso, el de Dios): 6 pasos
Video: 20 TRUCOS AVANZADOS si tienes ALEXA (con Echo dot en 2022) 2024, Diciembre
Anonim
Habilidad de Alexa: lea el último tweet (en este caso, el de Dios)
Habilidad de Alexa: lea el último tweet (en este caso, el de Dios)

Hice una habilidad de Alexa para leer "El último tweet de Dios": el contenido, es decir, de @TweetOfGod, la cuenta de más de 5 millones de suscriptores creada por un ex escritor de comedia del Daily Show. Utiliza IFTTT (If This Then That), una hoja de cálculo de Google y el increíblemente fácil de usar Alexa Skill Builder, Storyline.

Para tener una idea del resultado final, puede agregar la habilidad a su dispositivo Alexa aquí, o puede obtener una vista previa de la habilidad en Storyline si su cuenta de Alexa no está en los EE. UU. O no tiene un dispositivo Alexa.

Si desea desarrollar una habilidad de Alexa que lea tweets, esta es una forma relativamente fácil de hacerlo. No hay codificación involucrada si solo usa mis plantillas, pero si desea desviarse del camino, es útil saber un poco sobre el código en general y, en particular, sobre cómo se estructuran las llamadas JSON. Pero si solo está replicando esta habilidad para una cuenta de Twitter diferente, no requerirá habilidades técnicas más allá de cortar y pegar.

Lo que necesitarás:

  • Un dispositivo Alexa (o una cuenta con Echoism.io, un gran simulador virtual de Alexa)
  • Una cuenta de desarrollador de Alexa
  • Una cuenta de Google para crear una hoja de cálculo con
  • Una cuenta con Storyline
  • Una cuenta con If This Then That (IFTTT)
  • Una cuenta de Dropbox o un lugar donde pueda alojar archivos mp3 en un servidor seguro.

Todas estas cuentas son gratuitas.

No entraré en muchos detalles sobre los conceptos básicos de cómo crear una habilidad de Storyline: hay excelentes tutoriales en el sitio para aprender a crear bloques, conectarlos y ramificar entre condiciones. Este tutorial se centrará en tres cosas que aprendí al desarrollar esta habilidad: conseguir un efecto de sonido MP3 en tu habilidad, conectar el contenido de Twitter a través de IFTTT y Google Sheets, y cómo generar un tweet aleatorio a partir de un conjunto de opciones creadas previamente.

(Y un gran agradecimiento al desarrollador de habilidades de Alexa, George Collier, cuyo excelente tutorial sobre cómo integrar Twitter en Alexa me ayudó a comenzar).

Paso 1: Paso 1: Piense en el flujo general de su habilidad

Paso 1: Piense en el flujo general de su habilidad
Paso 1: Piense en el flujo general de su habilidad

Storyline es una forma fantástica de crear habilidades de Alexa con poca o ninguna codificación. Puede arrastrar y soltar bloques en su lugar y configurar conexiones y rutas entre acciones a través de una interfaz gráfica fácil de entender. Si alguna vez usó Yahoo Pipes, reconocerá la interfaz.

Ahora, una de las cosas interesantes de Storyline es que hace que sea bastante fácil lograr que Alexa exprese los resultados de cualquier consulta JSON. Obtener datos de una hoja de cálculo de Google es fácil con las consultas JSON. Introducir tweets en una hoja de cálculo de Google con If This Than That es fácil. Fácil. Fácil. Fácil.

Creo que es mejor visualizar toda tu habilidad en abstracto antes de comenzar.

Cuando pensé en mi habilidad, supe que su propósito principal era enviar el último tweet. Pero podría mejorar eso con un poco de diseño de sonido (Storyline permite tu habilidad para reproducir cualquier MP3), y un tweet podría no ser suficiente para darle a la gente una idea de la cuenta; podría almacenar algunos de los tweets más antiguos y dejar que el usuario escucha uno de esos después de la última. Entonces, mi boceto de flujo de habilidades podría verse así:

  1. Dé la bienvenida al usuario con un poco de texto hablado y un sonido introductorio apropiado
  2. Leer el último tweet
  3. Reproduce un sonido característico
  4. Pregunte al usuario si le gustaría escuchar un tweet más antiguo.

    1. ¿Sí? Lea un tweet anterior.
    2. Reproduce el sonido característico
    3. ¿No? Salga de la habilidad.

La fuente del "Último Tweet" es una hoja de cálculo de Google, alimentada por un script If This Then That. Ese proceso se parece a esto:

  1. SI hay un nuevo tweet de la cuenta @TweetOfGod, se copia en la hoja de cálculo.
  2. Si el tweet contiene un enlace o una imagen, la hoja de cálculo lo filtra
  3. Si el tweet es un retweet, la hoja de cálculo lo filtra
  4. Los tweets que pasan por esos dos filtros se procesan para su lectura: # se reemplaza con la palabra "Hashtag" y varios otros caracteres se reemplazan con equivalentes legibles
  5. El tweet final se copia en la celda "último tweet" que Alex lee.

Paso 2: Paso 2: crea un bonito bloque de bienvenida con sonido introductorio

Paso 2: crea un bonito bloque de bienvenida con sonido introductorio
Paso 2: crea un bonito bloque de bienvenida con sonido introductorio
Paso 2: crea un bonito bloque de bienvenida con sonido introductorio
Paso 2: crea un bonito bloque de bienvenida con sonido introductorio
Paso 2: crea un bonito bloque de bienvenida con sonido introductorio
Paso 2: crea un bonito bloque de bienvenida con sonido introductorio

Antes de que Alexa lea el último tweet, genero al azar uno de los cuatro divertidos sonidos celestiales. Estos son MP3 que han sido procesados para Alexa por historia. Encontré mis MP3 en Freesound (y todo lo que hay es realmente gratis, pero sé un ser humano decente y deja una propina).

  1. Descarga tu MP3. Debe ser menos de 90 segundos. Alexa es particular sobre el formato. Si sabe que es MPEG Versión 2 y 48kps, puede omitir el siguiente paso. Pero si no lo sabe o es algo diferente, es fácil de convertir.
  2. Súbelo a Storyline para procesarlo en su convertidor de audio
  3. Aloje su audio descargado en un servidor

Si el paso 3 tiene que hacer "¿HACER QUÉ AHORA?" probablemente no tenga acceso a un servidor https en el que pueda alojar sus archivos. No se preocupe, puede hacerlo con Dropbox. Necesitará una cuenta, pero de nuevo, una gratuita está bien. Estos son los pasos:

  1. Vaya a https://www.dropbox.com/h e inicie sesión en su cuenta.
  2. Haga clic en el botón Cargar archivos
  3. Seleccione el archivo mp3 que convirtió.
  4. Haga clic en compartir
  5. Haga clic en Crear un enlace y Copie el enlace.
  6. En el vínculo que copiaste, reemplaza "dropbox" por "dl.dropboxusercontent" sin las comillas.
  7. Copia esa URL

Ahora irá al final de su bloque de bienvenida y haga clic en el ícono de Nota musical.

Pegue su URL. Si desea agregar variaciones aleatorias, repita el proceso para algunos MP3 más y haga clic en el menú Hamburguesa debajo del cuadro de pegar URL.

Paso 3: Paso 3: Configurar IFTTT

Paso 3: configurar IFTTT
Paso 3: configurar IFTTT
  1. Vaya a su cuenta IFTTT y seleccione "Crear un nuevo subprograma"
  2. Seleccione TWITTER como Servicio IF.
  3. Seleccione "Nuevo tweet de un usuario específico como Activador. Complete el nombre de la cuenta que desea seguir
  4. Seleccione "Hojas de cálculo de Google" como el servicio ENTONCES
  5. Seleccione "Agregar fila a la hoja de cálculo".
  6. En el campo "Fila con formato", elimine todo excepto el campo {{TEXT}}.
  7. Crea tu habilidad.

Esto crea una nueva hoja de cálculo y agrega una fila cada vez que se publica un nuevo tweet. Es posible que prefiera usar una sola celda en su hoja de cálculo y simplemente sobrescribir su contenido cada vez. En ese caso, en el paso 5 puede elegir la opción de escribir en una sola celda. Me gusta llevar un registro de los tweets, ya que periódicamente muevo los que no son de actualidad o que reaccionan a las noticias a una hoja de cálculo de "Tweets más antiguos". Tenga en cuenta que si elige esta opción, deberá realizar un mantenimiento en su hoja: se creará una nueva después de 2000 filas.

Paso 4: Paso 4: Configura tu hoja de Google

Paso 4: configura tu hoja de Google
Paso 4: configura tu hoja de Google
Paso 4: configura tu hoja de Google
Paso 4: configura tu hoja de Google
Paso 4: configura tu hoja de Google
Paso 4: configura tu hoja de Google

Esta hoja de Google es el corazón de esta habilidad en particular, porque filtra los tweets que no funcionan muy bien con Alexa (tweets que se refieren a imágenes, por ejemplo, o tweets con enlaces) y hace que los tweets de solo texto sean mucho más Alexa. -Amigable con algunos reemplazos simples.

Deje que IFTT cree su hoja de cálculo con algunas entradas, así que solo espere a que algunos tweets de la cuenta de su seguimiento lleguen allí, abra Google Sheets y ordene por hora de creación. Verá su nueva hoja de cálculo brillante en la parte superior. Ahora, cada nuevo tweet estará en una nueva fila, por lo que queremos crear una fórmula que filtre los tweets que tengan enlaces o imágenes y los revise para encontrar el último en la columna.

Puede simplemente replicar esta copia de mi hoja de cálculo o puede crear la suya propia con los siguientes pasos:

  1. Cambie el nombre de la pestaña con tweets en ella "Live from IFTTT"
  2. Agrega una pestaña llamada "Procesando Tweets" a la hoja de cálculo.
  3. Agregue esta fórmula en la celda A8 de la pestaña Procesando Tweets:

= CONSULTA ('Live from IFTTT'! A3: A2000, "Seleccione A donde no A contiene 'https'")

Eso lleva todos los tweets que no tienen un enlace a la Columna A de su pestaña de procesamiento.

Ahora necesitamos encontrar el último tweet en esa columna. Pegue la siguiente fórmula en la celda B7 de la pestaña de procesamiento:

= ÍNDICE (FILTRO (A: A, NO (ESBLANCO (A: A))), FILAS (FILTRO (A: A, NO (ESBLANCO (A: A)))))

Ahora queremos hacer algunos reemplazos para que el tweet sea más fácil de leer para Alexa. En realidad, todos pueden ser uno en una fórmula de celda única, pero los dividí para mayor claridad:

En la celda B6 pegar de la pestaña Procesamiento:

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

Eso mira el contenido de la celda a continuación y reemplaza el signo # con la palabra "Hashtag".

En la celda B5 pegue la siguiente iteración:

= recortar (regexreplace (B6, "@", "en"))

Entiendes la idea.

En pasta de celda B4:

= recortar (regexreplace (B6, "&", "y"))

En la celda B3:

= recortar (regexreplace (B6, "%", "porcentaje"))

En la celda B2 vamos a colocar una fórmula un poco más complicada:

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

Este simplemente se deshace de CUALQUIER COSA que no sea un número, letra o uno de los puntos de puntuación que Alexa entiende.

En la celda B1 simplemente vamos a copiar el tweet final:

= índice (B2)

Ese es el texto final y puede programar la historia para que grabe esa celda si sabe un poco de JSON, pero para simplificar un poco las cosas al final de la historia, me gusta copiar el contenido en la pestaña "En vivo desde IFTTT" poniendo esto fórmula en A2 en la pestaña "Live from IFTTT":

= 'Centro de procesamiento'! B1

Maravilloso. Ahora su hoja de cálculo está configurada y lista para ser leída por una consulta JSON de Storyline.

Paso 5: Paso 5: Configura tu consulta JSON "Último Tweet" en Storyline

Paso 5: Configure su
Paso 5: Configure su
Paso 5: Configure su
Paso 5: Configure su
Paso 5: Configure su
Paso 5: Configure su
  1. Ve al bloque de bienvenida de tu habilidad de historia y agrega un paso "Lo que dice Alexa".
  2. Agregue una frase introductoria como "Aquí está el último tweet de TheTweetOfGod:"
  3. Use el menú de hamburguesas para agregar variaciones
  4. Haga clic en la pequeña flecha hacia la derecha y seleccione "Crear nuevo bloque"

Llamé a mi nuevo bloque "Get God Tweet". La tarea aquí es ir a buscar el último tweet filtrado de la celda A2 de la hoja de cálculo de la pestaña principal. Lo hace obteniendo los datos con una solicitud JSON entregada a través de la API de Google Sheets: en realidad no es más que una URL elegante.

  1. Haga clic en el pequeño ícono a la derecha en su nuevo bloque para agregar una solicitud JSON.
  2. Nombra tu solicitud de API. Llamé al mío "GetGodTweet"
  3. Encuentre la URL de su hoja de cálculo haciendo esto:

    1. Haga clic en Archivo -> Publicar en Web en su hoja de cálculo.
    2. Utilice los valores predeterminados y haga clic en "Publicar".
    3. Copie la URL y péguela en un archivo de notas.

Mi ejemplo es:

"https://docs.google.com/spreadsheets/d/e/2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy/pubhtml" necesitará extraer esa cadena larga de ID de documento ". Es el bit entre el / d / e y el siguiente / charcter. Entonces en este caso:

2PACX-1vSUnz43PEORZbBES1lQ8ZlJjH_4voh4Guc6SWrfjeGk2bZlY5EBYzLD5-fT633ygo_35Jz97cuUwKuy

Cambia ese número largo por el bit en la siguiente URL que dice "SPREASHEET_ID":

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

  1. Ahora tome ESA url y péguela en el cuadro de URL de la consulta JSON en Storyline.
  2. Seleccione la opción "OBTENER"
  3. Deje el cuadro "Encabezados" en blanco
  4. En el siguiente cuadro, va a crear una variable con el contenido de la celda A2 de su primera pestaña pegando esta fórmula en:

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

La variable se llama "tweet". Está copiando el contenido de la pestaña principal 0.

Ahora, si agrega un bloque "Alexa dice" debajo de su consulta JSON y pone solo la palabra {{tweet}} entre llaves, Alexa dirá el contenido de la celda. ¡Asegúrese de que el caso coincida con la variable que nombró en el paso 4!

¡Presiona el botón JUGAR en Storyline y prueba tu habilidad! Si obtiene la palabra "Nulo", significa que algo salió mal con su solicitud de API.

Eso es todo para la habilidad básica. Agregué una pequeña firma de audio divertida con otro MP3 y le pregunté si el usuario quería escuchar un tweet más antiguo. El siguiente paso muestra un buen truco para generar un tweet antiguo aleatorio, pero es genial para aquellos que quieran aportar a su habilidad un poco de usabilidad adicional.

Paso 6: Extra opcional: generación de un resultado aleatorio de Google Sheets para que Alexa lo lea

Extra opcional: generación de un resultado aleatorio de Google Sheets para que Alexa lo lea
Extra opcional: generación de un resultado aleatorio de Google Sheets para que Alexa lo lea

Si desea generar aleatoriamente uno de un conjunto de tweets más antiguos, aquí tiene un truco ingenioso.

Creé una tercera pestaña en mi hoja de cálculo llamada "Tweets más antiguos". Todos estos ocupan las celdas A1-A36 en mi hoja de cálculo

  1. En Storyline, crea un nuevo bloque llamado "Oldertweets".
  2. Agregar un paso de consulta JSON
  3. Dale un nombre
  4. En el cuadro de URL, use la misma URL de API que creó con su ID de hoja de cálculo en el paso Último tweet, con una variación:

    Cambie el bit hacia el final que dice / od6 / basic / public a / 3 / basic / public; esto llama a TAB 3 en lugar de Tab 1

  5. Seleccione "OBTENER"
  6. Deje los encabezados en blanco
  7. En el siguiente cuadro, pega esto:

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

Ha creado una nueva variable, llamada "oldtweet" y esa pequeña palabra "aleatorio" significa que la variable cambiará cada vez que se llame a la consulta JSON.

Agrega otro paso "Alexa dice" e inserta tu nueva variable, {{oldtweet}} con esas llaves. ¡Auge! ¡Bondad al azar!

Si disfrutaste de este Instructable, ¡dale a mi habilidad algunas estrellas o una reseña!

Recomendado: