+ All Categories
Home > Software > Cómo construir un Servidor Web y Bot de Memes para Slack

Cómo construir un Servidor Web y Bot de Memes para Slack

Date post: 05-Apr-2017
Category:
Upload: david-ballen
View: 56 times
Download: 2 times
Share this document with a friend
47
Cómo construir un bot para Slack @davsket https://github.com/davsket/slack-bot- experiment
Transcript
Page 1: Cómo construir un Servidor Web y Bot de Memes para Slack

Cómo construir un bot para Slack

@davsket

https://github.com/davsket/slack-bot-experiment

Page 2: Cómo construir un Servidor Web y Bot de Memes para Slack

David Avellaneda

@davsket

Co-organizador de: BogotáJS JSConf.co

Char.la ColombiaDev

Co-fundador de: Monoku

Page 3: Cómo construir un Servidor Web y Bot de Memes para Slack

• Soy Tauro • Me gusta correr en la playa • Tengo un hijo (el de la foto) • En serio me gusta mucho

correr • Me gusta compartir lo que se

Page 4: Cómo construir un Servidor Web y Bot de Memes para Slack

Cómo construir un Servidor y Bot de Memes

para Slack@davsket

Page 5: Cómo construir un Servidor Web y Bot de Memes para Slack

Agenda

Page 6: Cómo construir un Servidor Web y Bot de Memes para Slack

Agenda

• ¿Qué vamos a hacer? v2

• ¿Qué necesitamos? v2

• JUST DO IT!!! step++ v2

• Momento philosoraptor v2

Page 7: Cómo construir un Servidor Web y Bot de Memes para Slack

¿Qué vamos a hacer?

Page 8: Cómo construir un Servidor Web y Bot de Memes para Slack

¿Qué necesitamos?

Page 9: Cómo construir un Servidor Web y Bot de Memes para Slack

¿Qué necesitamos?• promesas (yup, de nuevo)

• como funciona slack (APIs)

• CommonJS (require)

• variables de entorno

• node / express (básico) *

• request *

• heroku o now o ngrok *

• servicio de memes !!!!

Page 10: Cómo construir un Servidor Web y Bot de Memes para Slack

Promises

• Solo se puede resolver o rechazar una vez • De ahí en adelante puedes preguntar cuantas veces

sea el resultado • Si una función retorna un valor, el siguiente then

obtiene el valor de esta • para request y otros asyncs…

var p = new Promise((resolve, reject) => { resolve(5) })p.then(num => console.log(num)) // 5p.then(num => num * 5) .then(num => console.log(num)) // 25

Page 11: Cómo construir un Servidor Web y Bot de Memes para Slack

Slack Apps• ya existen muchas apps • si creas una propia puedes:

• recibir comandos por medio de texto • `/elcomando argumento` • `@botname argumentos`

• mandar respuestas (sync & async) • de texto plano • con attachments

Page 12: Cómo construir un Servidor Web y Bot de Memes para Slack

Slack Bot

• App propia (para escuchar comandos slash con permisos)

• Incoming WebHooks (para mandar mensajes)

Page 13: Cómo construir un Servidor Web y Bot de Memes para Slack

Crear App Propiahttps://api.slack.com/apps?new_app=1

Esta app va a ser privada hasta que no la distribuyan

Page 14: Cómo construir un Servidor Web y Bot de Memes para Slack

Crear App Propiahttps://api.slack.com/apps?new_app=1

Esta app va a ser privada hasta que no la distribuyan

Page 15: Cómo construir un Servidor Web y Bot de Memes para Slack

App Propia + Slash Cmds

Page 16: Cómo construir un Servidor Web y Bot de Memes para Slack

App Propia + Slash Cmd

Page 17: Cómo construir un Servidor Web y Bot de Memes para Slack

Slash Command

Page 18: Cómo construir un Servidor Web y Bot de Memes para Slack

App Propia + Add to Team

Page 19: Cómo construir un Servidor Web y Bot de Memes para Slack

App Propia / Incoming Webhook vs

Incoming Webhook App

Page 20: Cómo construir un Servidor Web y Bot de Memes para Slack

App Propia + Oauth

Page 21: Cómo construir un Servidor Web y Bot de Memes para Slack

App Propia + OauthGuardala!!

Page 22: Cómo construir un Servidor Web y Bot de Memes para Slack

App Propia + Permisos

Page 23: Cómo construir un Servidor Web y Bot de Memes para Slack

Incoming Webhookhttps://team.slack.com/apps

Page 24: Cómo construir un Servidor Web y Bot de Memes para Slack

Incoming Webhook: add config

Page 25: Cómo construir un Servidor Web y Bot de Memes para Slack

Incoming Webhook: addconfig

Page 26: Cómo construir un Servidor Web y Bot de Memes para Slack

Incoming Webhook: URL

Guardala!!

Page 27: Cómo construir un Servidor Web y Bot de Memes para Slack
Page 28: Cómo construir un Servidor Web y Bot de Memes para Slack

KEYS: 2

Page 29: Cómo construir un Servidor Web y Bot de Memes para Slack

CommonJS

module.exports = 'Hello World'

hi.js

var hi = require('./hi') console.log(hi)

index.js

Page 30: Cómo construir un Servidor Web y Bot de Memes para Slack

Variables de Entorno

var url = process.env.SLACK_WEBHOOK_URL console.log(url)

Page 31: Cómo construir un Servidor Web y Bot de Memes para Slack

Servicio Memes

https://memegen.link

https://github.com/jacebrowning/memegen

https://memegen.link/api

Page 32: Cómo construir un Servidor Web y Bot de Memes para Slack
Page 33: Cómo construir un Servidor Web y Bot de Memes para Slack

1. Hacer módulo de Memes

Page 34: Cómo construir un Servidor Web y Bot de Memes para Slack

2. Imprimir lista y meme de la lista

Page 35: Cómo construir un Servidor Web y Bot de Memes para Slack

3. Exponer Pagina Web

Page 36: Cómo construir un Servidor Web y Bot de Memes para Slack

4. Exponer Pagina Web pero Bien

Page 37: Cómo construir un Servidor Web y Bot de Memes para Slack

5. Exponer Pagina Web pero Cool

Page 38: Cómo construir un Servidor Web y Bot de Memes para Slack

6. Exponer Servicio tipo Bot

Page 39: Cómo construir un Servidor Web y Bot de Memes para Slack

Slash CommandPOST application/x-www-form-urlencoded

POST Body =

Page 40: Cómo construir un Servidor Web y Bot de Memes para Slack

Test con ngrok

Page 41: Cómo construir un Servidor Web y Bot de Memes para Slack

Hasta el momento…

Page 42: Cómo construir un Servidor Web y Bot de Memes para Slack

7. Exponer Servicio tipo Bot Como Debe Ser

Page 43: Cómo construir un Servidor Web y Bot de Memes para Slack

7. Exponer Servicio tipo Bot Como Debe Ser

• Obtener info del usuario usando la llave del Oauth

• Enviar meme a Slack usando el Incoming Webhook

Page 44: Cómo construir un Servidor Web y Bot de Memes para Slack
Page 45: Cómo construir un Servidor Web y Bot de Memes para Slack

Preguntas?

Page 46: Cómo construir un Servidor Web y Bot de Memes para Slack

Gracias!

Page 47: Cómo construir un Servidor Web y Bot de Memes para Slack

@davsket

https://github.com/davsket/slack-bot-experiment


Recommended