<p>Tanto Telegram como XMPP son posibles opciones a la hora de organizar tu comunidad;
ambos tienen ventajas y desventajas; y gente distinta que podría participar en ella.
Pero, ¿Y si pudieses crear una comunidad que traspasase las fronteras de los distintos
sistemas de mensajería?</p>
<p>Eso es precisamente lo que hace Matterbridge un software desarrollado en Golang por 42wim,
a lo largo de este artículo descubriréis que es un software muy sencillo de usar teniendo
un conocimiento mínimo de Linux.</p>
<p>En primer lugar vamos a crear el bot de telegram que servirá para enlazar la comunidad a XMPP:</p>
<p>Para realizar esto deberás hablar con <ahref="https://t.me/BotFather">@BotFather</a> y en su menú
seleccionar /newbot, para el nombre del bot escribiremos "XMPP User" para que los usuarios sepan de
que tratan los mensajes que envía el bot.</p>
<p>A continuación nos preguntará por un nombre de usuario, puedes escoger el que deseés. Yo he escogido "pruebabridgexmppbot".</p>
<p>Ahora en el menú de Botfather seleccionaremos /mybots y pulsaremos sobre nuestro bot recien creado, tras hacer esto pulsaremos sobre "Bot Settings/Group Privacy" y seleccionaremos "Turn Off".</p>
<p>Este paso es necesario para que el bot de Telegram pueda leer los mensajes de los usuarios que no le mencionan directamente y enviarlos a XMPP.</p>
<p>Ahora tendrémos que crear un usuario de XMPP para el bot, no uses el tuyo propio, crear el usuario sale del ámbito del tutorial debido a la amplia cantidad de opciones posibles en mi caso lo he creado en mi propia instancia con prosodyctl register.</p>
<p>El siguiente paso es escoger el dominio muc que vamos a usar, en mi caso voy a hacerlo en prueba.owlcode.tech que voy a crearen mi propio servidor.</p>
<p>Puedes escoger un dominio muc que permita abrir salas sin problemas, pero asegurate de crearlas con tu usuario personal antes de añadirlas al bridge o el owner de la sala será el bridge lo cual puede ser problemático.</p>
<p>Voy a dejar instrucciones opcionales para crear nuestro propio dominio muc en un prosody ya configurado para favorecer la descentralización:</p>
<p>En primer lugar abriremos en nuestro editor de texto de preferencia la configuración de prosody.</p>
<code><pre>sudo vim /etc/prosody/prosody.cfg.lua</pre></code>
<p>Imaginemos que tenemos un VirtualHost como este.</p>
<p>Ahora cuando reiniciemos el servidor de prosody nuestro nuevo servidor de salas muc estará listo.</p>
<p>Deberemos unirnos con nuestra cuenta de admin a la sala que queramos enlazar, en este caso prueba@prueba.owlcode.tech.</p>
<p>Una vez hecho esto marcamos en las opciones de la sala como persistente y buscable publicamente para que se pueda buscar desde search.jabber.network y le ponemos nombre y descripción a la sala. (Opcional)</p>
<p>Hecho esto podemos empezar a configurar Matterbridge.</p>
<p>Necesitarás unir al bot de telegram que has creado al grupo que quieres unir con XMPP y ejecutar /chatId en el grupo, despues de eso tendrás el verdadero id de tu grupo de telegram para su uso en la configuración, por ejemplo:</p>
<code><pre>
[[gateway.inout]]
account="telegram.pruebatelegram"
channel="-932023"
</pre></code>
<p>Reincia el comando <code><pre>sudo -u matterbridge /var/lib/matterbridge/go/bin/matterbridge -conf /var/lib/matterbridge/matterbridge.toml</pre></code></p>
<p>Prueba a enviar mensajes entre telegram y xmpp; y si lo has hecho bien deberían recibirse en las dos direcciones.</p>
<p>Ahora puedes escoger cualquier manera que deseés de hacer persistente el bridge, ya sea un cron al encender el ordenador, un systemd unit o un init service de openrc.</p>