La odisea del WhatsApp en Emacs: cómo un capricho de sábado acabó en un servidor de mensajería propio


27 de julio de 2026

Esto es el cierre de una miniserie. Si has leído los otros posts (qué es Matrix, la federación, las ventanas flotantes de Emacs), este es el que ata el nudo: la historia entera, contada como lo que fue. Una odisea de fin de semana que empezó con una tontería y acabó con algo que se queda para siempre.

Y la escribo por una razón: porque cuando lees tutoriales, todo sale perfecto a la primera. Y no es así. Nunca es así. Esto es cómo es de verdad.

El capricho

Todo empezó un sábado con una frase de las inocentes:

"¿No habrá manera de leer WhatsApp desde Emacs, como ya leo Telegram?"

Una tontería. Un pica-pica. La clase de pregunta que crees que se resuelve en diez minutos con un paquete y a otra cosa.

Spoiler: no se resolvió en diez minutos. Se resolvió dos días, cuatro posts y una migración de servidor después. Y por el camino aprendí más que en meses.

El primer muro (y el giro)

WhatsApp es un búnker: sin API, cero clientes de terceros. Así que la pregunta mutó en el acto, y ahí estuvo la magia: "¿y si en vez de meter WhatsApp en Emacs, monto un sitio donde vivan TODAS mis mensajerías, y que sea mío?".

Ese sitio es un servidor Matrix. Y montar el tuyo propio, self-hosted, es justo el tipo de proyecto que suena imposible hasta que lo haces. Empiezas queriendo un chat y acabas entendiendo protocolos abiertos, federación, puentes entre mensajerías… conceptos que ni sabías que no sabías.

Los muros de en medio (esto es lo honesto)

Aquí viene la parte que los tutoriales te esconden. Nada salió a la primera:

Cuatro pasos adelante, dos atrás, uno de lado. Así se construye de verdad. No es un fracaso: es el proceso. Cada muro me enseñó por qué la decisión buena era la buena.

El final feliz

Y al final del túnel, ahí estaba: mi propio servidor de mensajería, corriendo en mi propia máquina, leído desde dentro de Emacs. El primer mensaje que vi fue uno que me mandé a mí mismo, apareciendo en mi editor, servido por un cacharro que controlo yo. Ese momento —el "¡funciona!"— vale por todos los muros.

Todavía queda la guinda (enchufar los puentes para que caigan los chats de verdad), pero lo difícil ya respira. Y lo mejor: no es un truco que se olvida. Está todo declarado, versionado, reproducible. Si mañana explota la máquina, se vuelve a levantar con un comando. Es infraestructura mía, para siempre.

La moraleja, que es lo que me llevo

Tres cosas de esta odisea, por si te animas con la tuya:

  1. El capricho es la puerta. Nadie se sienta a "aprender Matrix". Te sientas a resolver una tontería que te pica, y el conocimiento entra de rebote, enganchado a algo que te importa. Persigue el capricho.

  2. Los muros no son el fracaso, son el camino. Cambiar de idea a mitad —de servidor, de máquina, de plan— no es perder el tiempo. Es aprender lo bastante para elegir bien. El que no choca con ningún muro es que no está construyendo nada.

  3. Épico pero prudente. Nada de esto se hizo a lo loco. Cada cambio en la máquina de verdad iba con su copia de seguridad, su plan de vuelta atrás, sus segundos ojos antes de tocar. Se puede ser ambicioso sin ser temerario. De hecho, es la única forma de que la ambición no te explote en la cara.

Empecé queriendo leer un chat sin abrir el móvil. Acabé con un servidor propio y sabiendo cómo funciona la mensajería por dentro. No está mal para un capricho de sábado.

La próxima vez que algo te pique —una tontería, un "¿no habrá manera de…?"— tira del hilo. No sabes dónde acaba. Y esa es toda la gracia.

¿Y ahora qué?

Pues ahora empieza lo divertido de verdad.

El servidor está en pie, así que toca enchufarle todos los conectores del mundo —Telegram, WhatsApp, Signal, IRC, lo que se tercie— hasta que toda mi mensajería viva en un único sitio que es mío.

Y sobre todo, lo que le da sentido a haber hecho todo esto: automatizarlo hasta donde me salga. Porque cuando tus conversaciones viven dentro de Emacs, dejan de ser notificaciones que te interrumpen y pasan a ser texto — y el texto se programa. "Automate the film": que salte una nota cuando me escribe cierta persona, que se archive solo lo que importa, que un mensaje dispare lo que a mí me dé la gana. La mensajería deja de mandar sobre mí, y mando yo sobre ella.

El servidor era el medio. Hacer con mis conversaciones cualquier cosa que se me cruce por la cabeza es el fin.

Y esa, al final, es toda la diferencia entre usar una app y tener tu propia máquina. En la primera juegas con las reglas de otro. En la segunda, las reglas las escribes tú —literalmente, en código—.

Nos vemos en el siguiente capricho. 🛰️

Actualización desde el frente: cómo vamos

Escribí todo lo de arriba con el servidor recién levantado y una sola pieza a medio encajar. Un post honesto se actualiza, así que toca contar cómo sigue.

Ya lo tengo: una de mis mensajerías vive dentro del editor. Telegram, el primer conector, funciona de verdad. Leo mis conversaciones sin salir de Emacs, y cuando respondo, al otro lado llega como un mensaje normal. Ese momento —ver un chat real aparecer en un buffer y contestar desde ahí— vale por toda la odisea.

No fue en línea recta (¿cuándo lo es?). El login se hizo de rogar y hubo que reintentarlo. El historial antiguo tuvo su propia pelea. Y que las conversaciones aparecieran solas, sin ir aceptándolas una a una, fue el último nudo en soltarse. Cada tropiezo enseñaba por qué la pieza siguiente iba donde iba. Lo de siempre: los muros no son el fracaso, son el mapa.

Y lo siguiente

El próximo conector es el que le dio nombre a esta historia: WhatsApp. Y aquí toca ser honesto en dos cosas.

Se enlaza como un dispositivo vinculado más —igual que cuando abres WhatsApp en el ordenador—, que es la forma más limpia y respetuosa de hacerlo. Aun así, no es un terreno tan amable como el conector anterior: hay que pisar con más cuidado.

Por eso no lo monto con prisa al final de una jornada épica. Se hace fresco, con cabeza, con su copia de seguridad y su plan de vuelta atrás. Ambición sí, temeridad no —es la única forma de que la ambición no te explote en la cara.

Así que el búnker sigue creciendo: una pieza dentro, la siguiente preparada, y la regla intacta —lo que entra al editor se vuelve texto, y el texto se programa. Ese es el premio, y cada vez está más cerca.

Nos vemos en la próxima actualización. 🛰️

Comparte este post:

Es tu post

Estas seguro? Esto no se puede deshacer.

Comentarios (0)

Sin comentarios todavia. Se el primero!

Deja un comentario