Bots de Slack y Discord conectados a sistemas internos
Llevar la información y las acciones que vivían en scripts y paneles internos al sitio donde el equipo ya está hablando.
- Python
- Slack API
- Discord API
- APIs REST
- Webhooks
El problema
Las herramientas internas resolvían el problema técnico pero no el humano: para saber algo había que abrir una terminal, recordar el comando o entrar a un panel que solo unos pocos sabían usar. La información existía pero no circulaba, y las mismas preguntas acababan siempre en las mismas dos o tres personas.
Qué construí
Construí bots para Slack y para Discord que exponen esas herramientas como comandos de chat. El equipo pregunta en el canal y el bot responde con el dato ya formateado, sin que nadie tenga que aprender la herramienta que hay detrás.
La lógica de negocio no vive en el bot. Los bots son una capa de presentación fina sobre las mismas APIs internas que consume el resto de sistemas: eso evita duplicar reglas en dos sitios y hace que añadir una plataforma de chat nueva sea escribir un adaptador, no reimplementarlo todo.
Las dos plataformas se parecen menos de lo que aparenta. Slack y Discord difieren en el modelo de comandos, en el formato de los mensajes enriquecidos y en los límites de tamaño de respuesta, así que la capa común produce un resultado neutro y cada adaptador lo traduce a lo que su plataforma entiende.
La parte que hay que cuidar es el control de acceso: un bot que ejecuta acciones sobre sistemas internos desde un canal de chat es una superficie de ataque nueva. Las operaciones que solo consultan y las que modifican algo están separadas, y las segundas verifican quién las pide antes de hacer nada.
Resultado
- La información interna dejó de estar encerrada en herramientas que solo usaban unas pocas personas.
- Consultas rutinarias resueltas en el canal, sin interrumpir a nadie del equipo.
- Una sola base de lógica para las dos plataformas: añadir un comando lo añade en ambas.
- Acciones sensibles separadas de las consultas y con verificación de quién las solicita.