Este es el repositorio de un Bot que obtiene información de un equipo en Slack y permite realizar funciones de administración para facilitar el manejo del grupo.
Hay 2 ramas de git, develop
y production
.
Es la rama por defecto. Se hace Pull Request desde otra rama referente al issue o cambio que se quiera agregar, e.g. issue-99
o add-function
.
Después de que se han ejecutado las pruebas de calidad (QA), los cambios
realizados en la rama develop
se unen con la rama production
.
-
Instalar virtualenv
-
⚠️ ️ Requiere previa instalación de Python⚠️
$ virtualenv <nombre_entorno>
$ <nombre_entorno>\Scripts\activate
$ source <nombre_entorno>/bin/activate
$ pip install -r requirements.txt
$ conda install --yes --file requirements.txt
Ingresar a https://api.slack.com/apps/
y crear aplicación.
Visitar la página de instalación de la App creada y seleccionar Install App to Team.
Autorizar la instalación.
Renombrar el archivo /src/config.json.example
como /src/config.json
Una vez se haya autorizado la aplicación, se mostrará la sección de Tokens de Autorización.
Copiar de Bot User OAuth Access Token y agregarlo al atributo token
en config.json
"config": {
"name": "...",
"token": "xxxXXxxXXxXXxXXXXxxxX.xXxxxXxxxx",
...
},
...
En la página Basic Information de la App:
Agregar información Signing Secret al archivo config.json
.
"config": {
"name": "...",
"token": "xxxXXxxXXxXXxXXXXxxxX.xXxxxXxxxx",
"signin_secret": "xxxxxxxxXxxXxxXxXXXxxXxxx",
...
},
...
$ cd src/
$ python bot.py
Al momento de Slack contactar el servidor local, se necesitará ejecutar un tunel. Se recomienda ngrok
o localtunnel
.
💡 Slack necesita que las peticiones de eventos se hagan sobre SSL, entonces necesitamos usar HTTPS URL, para esto nos apoyamos en las siguientes opciones.
Instrucciones de instalación y configuración de ngrok
Ejecutar ngrok y copiar HTTPS URL
$ ngrok http 3000
ngrok by @inconshreveable (Ctrl+C to quit)
Session status online
Version 2.1.18
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://h7465j.ngrok.io -> localhost:9292
Forwarding https://h7465j.ngrok.io -> localhost:9292
$ ssh -R <subdominio>:80:localhost:3000 serveo.net
Agregar la URL de peticiones (tunnel URL + /slack/events
). Guardar y activar Enable Events.
PENDIENTE: Lista de Eventos del Bot a activar.
💪 Colaboradores
Alejandro E. Rendon |
---|
Basado en Slack Events API Python