Matrix est un protocole de messagerie instantannée. La suite de ce ticket considère que vous connaissez les bases et notamment le glossaire. Je vous conseille fortement d’aller lire le tutoriel précédent : Matrix sur NixOS
Telegram Messenger
Le bridge de Telegram supporte quasiment toutes les fonctionnalités. La configuration est quasiment la même que pour
Mautrix Facebook
hormis un léger changement au niveau de la configuration d’une API.
Je n’ai volontairement pas suivi la configuration proposé par NixOS car je n’ai jamais réussi à la faire fonctionner, et je souhaite avoir une installation cohérente. Comme NixOS ne propose pas de module pour Mautrix Facebook, Mautrix Telegram et Mautrix Signal, je préfère les configurer de la même manière.
Voici la configuration que je préconise :
{ config, lib, ... }:
let
bridgeFolder = "/var/lib/mautrix-telegram";
toListIfExists = path:
if (lib.pathExists path) then
[ path ]
else
[];
in {
# Telegram bridge
virtualisation.oci-containers.containers.mautrix-telegram = {
image = "dock.mau.dev/tulir/mautrix-telegram";
extraOptions = [ "--network=host" ];
volumes = [ "${bridgeFolder}/data:/data" ];
};
# Add configuration to Matrix server
services.matrix-synapse.app_service_config_files = toListIfExists "${bridgeFolder}/data/registration.yaml";
}
Si on résume, toutes les données sont stockées dans /var/lib/mautrix-telegram
. On ajoute l’image docker qui permet de lancer le bridge.
On va dès maintenant le configurer en éditant en tant que root le fichier /var/lib/mautrix-telegram/data/config.yaml
… Enfin faite votre nixos-rebuild switch
pour lancer le bridge.
Dans un premier temps, il faut faire une application sur le site de Telegram pour récupérer un ID et un hash qui serviront au bridge pour interagir avec l’API. Pour ce faire, allez sur cette page d’aide de Telegram et suivez les instructions pour récupérer le api_id
et le api_hash
.
On va changer différentes clés dans le fichier, je vais lister ce les clés qui ont changé :
homeserver:
address: http://localhost:8008
domain: server_name
verify_ssl: false
telegram:
api_id: #ApiId#
api_hash: #ApiHash#
bridge:
permissions:
"*": user
"@pseudo:server_name": admin
homeserver.address
: Votre serveur Matrix, pas besoin de passer par internet, il est disponible en localhomeserver.domain
: C’est leserver_name
, vous devez maintenance savoir ce que c’est :)homeserver.verify_ssl
: Comme on est dans une boucle locale, par besoin de vérifier le SSLtelegram.api_id
: ID fourni par Telegram sur le sitetelegram.api_hash
: Hash fourni par Telegram sur le sitebridge.permissions
: Ce sont les permissions. Pour ma part, j’ai mis"*": user
pour que tous les utilisateurs puissent utiliser le bridge, et enfin"@pseudo:server_name": admin
pour que votre utilisateur puisse l’administrer
Une fois ça fait, pensez à redémarrer votre image docker docker restart mautrix-telegram
et faites ensuite un petit nixos-rebuild switch
. Normalement, matrix-synapse
se redémarrera car le fichier registration.yaml
existera.
Vous pouvez maintenant constater que vous pouvez parler au bot dans votre client Matrix en ouvrant une conversation avec @telegrambot:server_name
.
Celui-ci devrait accepter votre invitation. Vous pouvez alors lui demander de l’aide comme il le propose. Pour lier votre compte, faites !tg login
et suivez les instructions.
Une fois connecté, attendez un peu et vous allez recevoir plein d’invitations :) Bien joué, tout devrait fonctionner !