https://d226lax1qjow5r.cloudfront.net/blog/blogposts/break-awkward-silences-with-terrible-festive-jokes-via-sms-dr/Break-Awkward-Silences-With-Terrible-Festive-Jokes-Via-SMS.png

Rompe silencios incómodos con terribles bromas festivas por SMS

Publicado el April 19, 2021

Tiempo de lectura: 13 minutos

En este tutorial te mostraré cómo construir tu propio rompe silencios incómodo, en forma de una aplicación SMS que te responderá con terribles chistes festivos y one-liners que puedes lanzar a la mesa, rompiendo rápidamente la tensión.

Reunir a grandes grupos de familiares en cualquier época del año puede resultar a veces un poco incómodo. Como cuando el tío Bill ha estado mezclando sus bebidas y al final dice algo sobre la prima Roberta que deja a todos incómodamente picando chirivías.

Incómodo. Enciende tu editor de código y empecemos.

Probar antes de construir

Mi versión de esta aplicación ya está activa, así que puedes enviar mensajes ahora mismo y ver los resultados antes de que profundicemos en el código.


Envía un SMS con la palabra "incómodo" a +44 7520619627 si estás en el Reino Unido, o a +1 201 844 9627 si estás en EE.UU. y ríete a carcajadas con las geniales frases que te enviarán a cambio... tal vez.


(Los más avispados ya se habrán dado cuenta de que las 4 últimas cifras de cada uno de esos números se escriben X-M-A-S en un teclado telefónico).

¿Una línea no rompió el lúgubre, lúgubre silencio? Bien, envíe un SMS con la palabra "más" como respuesta y obtendrá otra línea que quizá le ayude.

Creación de la aplicación

La aplicación que vamos a construir utiliza Node.jsy el framework Koa (que no es más que una implementación más moderna de Express) y la API Messages API de Vonage.

El código está disponible en un repositorio de la Comunidad Nexmo GitHub Account, y también en remezclable en Glitch.

Requisitos previos

  • La interfaz de línea de comandos de Vonage interfaz de línea de comandos

  • Un nuevo número apto para SMS

  • Node.js versión 8 o superior

  • Una selección de chistes y chascarrillos terribles

  • Una situación incómoda

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.

Clonar el repositorio

En cualquier directorio clonar una copia del código de nuestra nexmo-comunidad en GitHub:

git clone git@github.com:nexmo-community/xmas-jokes-nodejs.git

A continuación, cambie al directorio para acceder al código:

cd xmas-jokes-nodejs

Abra este paquete festivo de maravillas en su editor y continuemos con la configuración.

Póngalo en marcha

Para configurar esta aplicación, necesita ser accesible desde el mundo exterior. Utilice Ngrok para exponer el puerto 3000 y anota la https URL que se le da:

ngrok http 3000

Si no ha utilizado Ngrok antes, siga la guía de esta entrada del blog para ponerte en marcha.

Configuración

La primera pieza a configurar es el .env.sample archivo. Empieza por cambiarle el nombre a .env.

Añade todos los datos siguientes:

NEXMO_API_KEY="" # from your account dashboard NEXMO_API_SECRET="" # from your account dashboard

A continuación, los detalles específicos de la aplicación. Configúrelo utilizando la CLI.

La aplicación que has clonado tiene dos puntos finales:

  • /inbound recibe nuevos mensajes SMS

  • /status es una URL obligatoria para cualquier aplicación de Mensajes y Despacho, recibe los recibos de lectura y otra información sobre los mensajes que envías.

vonage apps:create ✔ Application Name … Xmas Jokes ✔ Select App Capabilities › Messages ✔ Create messages webhooks? … yes ✔ Inbound Message Webhook - URL … https:///inbound ✔ Inbound Message Webhook - Method › POST ✔ Status Webhook - URL … https:///status ✔ Status Webhook - Method › POST ✔ Allow use of data for AI training? Read data collection disclosure - https://help.nexmo.com/hc/en-us/articles/4401914566036 … yes

Este comando creará una nueva aplicación de Mensajes y Despacho en su Account. Muestra el Application ID en la pantalla y también creará una clave privada en el directorio en el que te encuentres. Ambos son necesarios para el siguiente paso de la configuración:

NEXMO_APPLICATION_ID="" # The new App ID you just generated NEXMO_APPLICATION_PRIVATE_KEY="./XmasJokes.key" # No need to change this unless you called your keyfile something different

Por último, añade tu nuevo número capaz de enviar SMS:

NEXMO_FROM_NUMBER="" # If you have a Non-US number put it here, otherwise blank NEXMO_FROM_NUMBER_US="" # If you have a US number, put it here, otherwise blank

Con todos esos campos rellenados puedes guardar tu .env y cerrarla.

Ahora necesitas un número para poder recibir llamadas. Puedes alquilar uno utilizando el siguiente comando (sustituyendo el código del país por tu código). Por ejemplo, si estás en EE.UU., sustituye GB por US:

  • vonage numbers:search US vonage numbers:buy [NUMBER] [COUNTRYCODE]

    Ahora vincula el número a tu aplicación:

    vonage apps:link --number=VONAGE_NUMBER APP_ID

Ya está. Configuración completa.

Encienda la alegría festiva

Vonage ahora sabe adónde va todo y cómo enrutar los nuevos mensajes a tu aplicación. Sólo queda una cosa por hacer:

npm run dev

Una vez que el servidor esté funcionando, asegúrate de que tu conexión Ngrok sigue funcionando en la misma URL que utilizaste en las devoluciones de llamada y, a continuación, envía un SMS con la palabra "incómodo" a tu nuevo número.

Numbers in action

¿Y ahora qué?

Los siguientes pasos son desplegar esta aplicación en un servidor. Heroku es una excelente opción para esto y la aplicación no requerirá ningún cambio de código para trabajar allí.

Recuerde que cuando despliegue la aplicación en otro lugar tendrá que actualizar las devoluciones de llamada para el número SMS y las dos URL de su aplicación Mensajes y Despacho.

Los comandos CLI que necesitas para hacer esto son:

vonage apps:update [APP_ID] --voice_event_url=http://example.com/webhooks/event --voice_answer_url=http://example.com/webhooks/answer

Y ya está.

¿Quieres que sea aún más fácil?

Si buscas una forma aún más rápida de jugar con el código de esta aplicación, puedes remezclarlo en Glitch haciendo clic en el botón de abajo:

remix button

Compartir:

https://a.storyblok.com/f/270183/250x250/d0444194cd/martyn.png
Martyn DaviesAntiguos alumnos de Vonage

Antiguo Director de Educación para Desarrolladores en Vonage. Con experiencia como desarrollador creativo, gestor de productos y organizador de jornadas de hacking, Martyn lleva trabajando como defensor de la tecnología desde 2012, tras haber pasado anteriormente por el mundo de la radiodifusión y las grandes discográficas. Educa y capacita a desarrolladores de todo el mundo.