Matrix Bridges-Bot

Matrix bridge

Abbiamo già descritto Matrix su questo taccuino digitale.

Si possono installare bridge o bot per Matrix.

Ci sono diversi bridge per Matrix; fondamentalmente si tratta di applicazioni mediante le quali creare un collegamento (un ponte - bridge) con altre app di messaggistica.

In questo contributo faremo riferimento unicamente ai seguenti mautrix-bridges:

  1. Signal
  2. Telegram

In sostanza, installando uno dei bridge indicati è possibile utilizzare il client Matrix (nel nostro caso Element) anche per inviare e ricevere messaggi con Telegram e Signal. Alla fine, eccettuati pochi casi, non si rende più necessario aprire l’app di riferimento.

Mautrix-Telegram Bridge

Le istruzioni sulla installazione e configurazione del bridge Telegram sono presenti sulla pagina del set up.

Requisiti

I requisiti per l’installazione del Matrix-Telegram bridge sono indicati al paragrafo (Requirements) che comunque riportiamo di seguito:

  • Python 3.8 or higher with pip and virtualenv.
  • A Matrix homeserver that supports application services (e.g. Synapse). You need access to register an appservice, which usually involves editing the homeserver config file.
  • A PostgreSQL server, v10 or higher (which you should already have for Synapse).
    • Make sure you don’t share databases between unrelated programs. Shared postgres instance is fine, but shared database is not.
  • If installing optional dependencies, see the optional dependencies page.
  • Telegram app ID and hash (get from my.telegram.org).
  • LottieConverter if you want animated stickers to be converted to something viewable on Matrix.
  • ffmpeg to transcode audio files (just install it with your system package manager).

Installazione

Per l’installazione si devono seguire le istruzioni (punti da 0 a 7) contenute nel paragrafo Production setup

Upgrade

Quando viene rilasciata una nuova versione del bridge, va effettuato l’upgrade che è molto semplice perché è sufficiente eseguire quanto indicato ai punti 1 e 2 delle istruzioni per l’installazione.

Riguardo al procedimento per l’upgrade abbiamo realizzato uno script bash per Ubuntu server 20.04 che velocizza le attività soprattutto quando si devono effettuare aggiornamenti per diversi bridge.

Lo script è il seguente:

#!/bin/bash

echo '################################'
echo '### Upgrade mautrix-telegram ###'
echo '################################'

cd PATH #(indicare il percorso dov'è stato installato il bridge - es. /opt/mautrix-telegram)

systemctl stop mautrix-telegram
source ./bin/activate
pip install --upgrade mautrix-telegram[all]
deactivate
chown -R mautrix-telegram PATH #(indicare il percorso dov'è stato installato il bridge - es. /opt/mautrix-telegram)
systemctl start mautrix-telegram

Per eseguire lo script, dovete prima:

  1. creare un file come mautrix-telegram_upgrade.sh con il comando touch mautrix-telegram_upgrade.sh
  2. eseguire nano mautrix-telegram_upgrade.sh
  3. incollare il contenuto dello script
  4. chiudere l’editor con CRTL+X e selezionare Y per salvare il file in una cartella che non sia quella dov’è installato il bridge (per esempio in /opt se il bridge è in /opt/mautrix-telegram).
  5. attribuire i permessi con il comando chmod 777 -R mautrix-telegram_update.sh

Per eseguire lo script, eseguire ./mautrix-telegram_upgrade.sh.

Notate che abbiamo scelto il nome del file mautrix-telegram_upgrade.sh ma potete sceglierne un altro.

Mautrix-Signal Bridge

Per il Mautrix-Signal bridge la procedura è molto simile - se non identica - a quella prevista per il Mautrix-Telegram bridge.

Requisiti e istruzioni per l’installazione sono presenti a questa pagina.

Upgrade

Per l’upgrade del bridge di signal qualcosa cambia.

Riportiamo di seguito lo script che abbiamo predisposto:

#!/bin/bash

echo '##############################'
echo '### Upgrade mautrix-signal ###'
echo '##############################'
cd /opt/matrix-bridges/mautrix-signal
systemctl stop mautrix-signal
git pull
source .venv/bin/activate
pip install --upgrade -r optional-requirements.txt -r requirements.txt
deactivate
systemctl start mautrix-signal

Come si può notare, per il bridge con Signal è necessario preventivamente lanciare il comando git pull.

Per eseguire lo script, dovete prima:

  1. creare un file come mautrix-signal_upgrade.sh con il comando touch mautrix-signal_upgrade.sh
  2. eseguire nano mautrix-signal_upgrade.sh
  3. incollare il contenuto dello script
  4. chiudere l’editor con CRTL+X e selezionare Y per salvare il file in una cartella che non sia quella dov’è installato il bridge (per esempio in /opt se il bridge è in /opt/mautrix-signal).
  5. attribuire i permessi con il comando chmod 777 -R mautrix-signal_upgrade.sh

Per eseguire lo script, eseguire ./mautrix-signal_upgrade.sh.

Notate che abbiamo scelto il nome del file mautrix-signal_upgrade.sh ma potete sceglierne un altro.

Matrix bot

Per Matrix sono stati sviluppati anche dei bot.

In particolare, è stato sviluppato il bot Maubot al quale collegare dei plugin.

I plugin disponibili per Maubot sono indicati a questa pagina.

Maubot Upgrade

Per l’aggiornamento di Maubot abbiamo creato il seguente script:

#!/bin/bash

echo '############################'
echo '###### Upgrade maubot ######'
echo '############################'

cd /opt/maubot

systemctl stop maubot
source ./bin/activate
pip install --upgrade maubot
deactivate
chown -R maubot /opt/maubot
systemctl start maubot

Per eseguire lo script, dovete prima:

  1. creare un file come maubot_upgrade.sh con il comando touch maubot_upgrade.sh
  2. eseguire nano maubot_upgrade.sh
  3. incollare il contenuto dello script
  4. chiudere l’editor con CRTL+X e selezionare Y per salvare il file in una cartella che non sia quella dov’è installato il bridge (per esempio in /opt se il bridge è in /opt/maubot).
  5. attribuire i permessi con il comando chmod 777 -R maubot_upgrade.sh

Per eseguire lo script, eseguire ./maubot_upgrade.sh.

Notate che abbiamo scelto il nome del file maubot_upgrade.sh ma potete sceglierne un altro.

Stay tuned!