Matrix 2 – Installation du bridge “Facebook Messenger”

modifié le : 13 septembre 2022,
par Clément Bourseguin
 

Maintenant que nous avons installé l'instance Matrix, nous allons voir comment configurer un bridge Facebook Messenger. Sans transition, passons à l'installation ! 😬

La documentation est disponible ici.

Installation des dépendances

apt-get update
apt-get upgrade

L'utilisation des bridges requiert la présence de Python à la version 3.8+, pip et virtualenv.

apt-get install python3-pip cmake
pip3 install --upgrade virtualenv 

Installer la dépendance olm nécessaire pour certains bridges :

apt-get install libolm-dev

Installation du bridge

Créer l'environnement virtuel :

mkdir -p /opt/mautrix-bridges/facebook
cd /opt/mautrix-bridges/facebook
virtualenv -p /usr/bin/python3 .
source ./bin/activate
(facebook) root@debian11:/opt/mautrix-bridges/facebook#

Installer le paquet mautrix-facebook :

(facebook) root@debian11:/opt/mautrix-bridges/facebook# pip3 install --upgrade mautrix-facebook[all]

Copier le fichier de configuration généré :

cp example-config.yaml config.yaml

Adapter son contenu :

  • homeserver :

    • address: https://matrix.example.com
    • domain: matrix.example.com
  • bridge :

    • permissions :

    •   "matrix.example.com": "user"
        "@admin:example.com": "admin"
  • appservice :

    • database: postgres://synapse:Azerty123@127.0.0.1/synapse

Générer la configuration :

(facebook) root@debian11:~/mautrix-bridges/facebook# python3 -m mautrix_facebook -g
Registration generated and saved to registration.yaml

Ajouter le chemin du fichier registration.yaml fraîchement généré dans le fichier /etc/matrix-synapse/homeserver.yaml :

app_service_config_files: 
  - /opt/mautrix-bridges/facebook/registration.yaml

Puis redémarrer Matrix :

systemctl restart matrix-synapse

Et démarrer le bridge :

(facebook) root@debian11:~/mautrix-bridges/facebook# python3 -m mautrix_facebook -g

Tout est opérationnel !

Configuration du bridge dans Element

Démarrer une nouvelle conversation, à travers le + de la catégorie Personnes :

Puis écrire à : @facebookbot:matrix.example.com

Se connecter avec la commande login .

Le bot vous répond. Tapez votre mot de passe. Il sera automatiquement supprimé.

Ainsi, votre compte Facebook est lié, vous avez maintenant la possibilité de discuter avec vos contacts utilisant un service externe à Element / Matrix !

Problèmes connus

J'ai eu le cas lors de l'envoi d'un message, l'opération échouait avec le message suivant :

'NoneType' object has no attribute 'generate_offline_threading_id'

Pour le résoudre, j'ai ajouté cette ligne dans le fichier config.yaml du bridge Facebook :

bridge: 
  invite_own_puppet_to_pm: true