SlideShare una empresa de Scribd logo
Cómo construir un bot
para Slack
@davsket
https://github.com/davsket/slack-bot-
experiment
David
Avellaneda
@davsket
Co-organizador de:
BogotáJS
JSConf.co
Char.la
ColombiaDev
Co-fundador de:
Monoku
• 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
Cómo construir un
Servidor y Bot de Memes
para Slack
@davsket
Agenda
Agenda
• ¿Qué vamos a hacer? v2
• ¿Qué necesitamos? v2
• JUST DO IT!!! step++ v2
• Momento philosoraptor v2
¿Qué vamos a hacer?
¿Qué necesitamos?
¿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 !!!!
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)) // 5
p.then(num => num * 5)
.then(num => console.log(num)) // 25
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
Slack Bot
• App propia (para escuchar comandos slash con
permisos)
• Incoming WebHooks (para mandar mensajes)
Crear App Propia
https://api.slack.com/apps?new_app=1
Esta app va a ser privada hasta que no
la distribuyan
Crear App Propia
https://api.slack.com/apps?new_app=1
Esta app va a ser privada hasta que no
la distribuyan
App Propia + Slash Cmds
App Propia + Slash Cmd
Slash Command
App Propia + Add to Team
App Propia / Incoming Webhook
vs
Incoming Webhook App
App Propia + Oauth
App Propia + Oauth
Guardala!!
App Propia + Permisos
Incoming Webhook
https://team.slack.com/apps
Incoming Webhook: add
config
Incoming Webhook:
addconfig
Incoming Webhook: URL
Guardala!!
Cómo construir un Servidor Web y Bot de Memes para Slack
KEYS: 2
CommonJS
module.exports = 'Hello World'
hi.js
var hi = require('./hi')
console.log(hi)
index.js
Variables de Entorno
var url = process.env.SLACK_WEBHOOK_URL
console.log(url)
Servicio Memes
https://memegen.link
https://github.com/jacebrowning/memegen
https://memegen.link/api
Cómo construir un Servidor Web y Bot de Memes para Slack
1. Hacer módulo de
Memes
2. Imprimir lista y
meme de la lista
3. Exponer Pagina
Web
4. Exponer Pagina
Web pero Bien
5. Exponer Pagina
Web pero Cool
6. Exponer Servicio
tipo Bot
Slash Command
POST application/x-www-form-urlencoded
POST Body =
Test con ngrok
Hasta el momento…
7. Exponer Servicio tipo
Bot Como Debe Ser
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
Cómo construir un Servidor Web y Bot de Memes para Slack
Preguntas?
Gracias!
@davsket
https://github.com/davsket/
slack-bot-experiment

Más contenido relacionado

PPT
Portales
PDF
DevOps en DEISER: En producción 10 veces más rápido con Atlassian
PPT
Презентация сульфатна кислота
PDF
Sombras ocultas
PPTX
Culminacion laboral
PPTX
Mise en-scene
PDF
Organizational Development (OD)_Knowledge Management & Learning Organization
PPTX
Використання акмеологічних технологій на уроках філологічного циклу
Portales
DevOps en DEISER: En producción 10 veces más rápido con Atlassian
Презентация сульфатна кислота
Sombras ocultas
Culminacion laboral
Mise en-scene
Organizational Development (OD)_Knowledge Management & Learning Organization
Використання акмеологічних технологій на уроках філологічного циклу

Destacado (16)

PPT
PDF
Principios-de-torneado
PPTX
Actividad 1 perfiles
DOCX
Informe final
PDF
Tutorial veloci botcb rv.4
PDF
Properties of logs
PPTX
Food and macronutrients lecture
PDF
Guia - Como atender a imprensa - Parte1 - Acidentes
PPTX
Análisis económico-graficas
PPT
Baño del recien nacido
PDF
Nbr 12214 nb 590 projeto de sistema de bombeamento de agua para abastecimen...
PDF
Cartilha previdência-seu-direito-está-em-risco-cut
PDF
histology
PPT
Pptexamples
 
PDF
Agência do Trabalho oferece 313 vagas nesta terça-feira (21)
PPTX
Margorie astudillo
Principios-de-torneado
Actividad 1 perfiles
Informe final
Tutorial veloci botcb rv.4
Properties of logs
Food and macronutrients lecture
Guia - Como atender a imprensa - Parte1 - Acidentes
Análisis económico-graficas
Baño del recien nacido
Nbr 12214 nb 590 projeto de sistema de bombeamento de agua para abastecimen...
Cartilha previdência-seu-direito-está-em-risco-cut
histology
Pptexamples
 
Agência do Trabalho oferece 313 vagas nesta terça-feira (21)
Margorie astudillo
Publicidad

Más de David Ballén (6)

PDF
Ocho cosas que debes saber de JavaScript
PDF
BogotaJS Bday 2016: Taller de SumobotJr
PDF
Wrold Bot Domination: Sumobot jr
PDF
Frontend Tools | Herramientas para Frontends
PDF
Manipulación de Video de la Webcam con JavaScript
PDF
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Ocho cosas que debes saber de JavaScript
BogotaJS Bday 2016: Taller de SumobotJr
Wrold Bot Domination: Sumobot jr
Frontend Tools | Herramientas para Frontends
Manipulación de Video de la Webcam con JavaScript
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Publicidad

Último (10)

PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
sistemas de informacion.................
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Fundamentos de Python - Curso de Python dia 1
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
Conceptos basicos de Base de Datos y sus propiedades
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Su punto de partida en la IA: Microsoft 365 Copilot Chat
sistemas de informacion.................
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
AutoCAD Herramientas para el futuro, Juan Fandiño
Fundamentos de Python - Curso de Python dia 1
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Implementación equipo monitor12.08.25.pptx
Conceptos basicos de Base de Datos y sus propiedades
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd

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