Configurer un bot Matrix to Discord


  • Français


  • Matrix est une application de chat open source populaire qui facilite la discussion en toute sécurité avec des personnes du monde entier. De même, Discord est une application de chat non open source qui est également populaire auprès de nombreuses communautés en ligne. Discord, comme Matrix, fournit un client de chat pour toutes les principales plates-formes mobiles et de bureau, il est donc parfaitement utilisable sur Linux. Cependant, ce n’est pas open source et donc, si vous avez le choix, vous préférerez peut-être utiliser Matrix. La bonne nouvelle est que si vous n’avez pas le choix pour une raison quelconque, vous pouvez aussi utiliser Matrix pour s’interfacer avec Discord en exécutant un pont Matrix-to-Discord. Cet article vous montre comment configurer et exécuter un bot Python Matrix pour relier le chat entre une salle Matrix et un canal Discord.

    Conditions

    Le bot présenté dans cet article est un pont “non marionnette”, ce qui signifie qu’il copie simplement les messages entrants et sortants sur une plate-forme et les envoie à l’autre. Il existe des modes plus avancés disponibles, mais ceux-ci ont tendance à nécessiter une instance Matrix auto-hébergée. La procédure de configuration du bot, cependant, est similaire dans les deux cas, donc que vous configuriez un service de pont pour votre serveur Matrix auto-hébergé ou simplement un bot marionnette pour les instances publiques, je suppose que vous avez au moins :

    • Un compte Matrix et un client Matrix tel que Élément.

    • Un compte Discord.

    • Un serveur Linux ou BSD pouvant exécuter le bot Python3. J’utilise un Raspberry Pi Rev. 1 avec juste un processeur de 700 mHZ et 256 Mo de RAM, exécutant NetBSD. Vous pouvez exécuter le bot localement, si vous préférez, mais je trouve plus pratique de l’exécuter en tant que service persistant afin de ne pas manquer les messages qui se produisent pendant mon absence.

    Obtenez le robot

    Télécharger ou cloner matrice-discorde-pont.

    Transformez-vous en son bridge répertoire et installez ses dépendances à l’aide de pip :

    $ python3 -m pip install -r requirements.txt

    Exécutez le bot pour générer un fichier de configuration vide :

    $ python3 ./bridge.py

    Vous avez maintenant un fichier appelé config.json dans votre répertoire courant. Il contient six paires de clé et de valeur. Le reste de cet article montre comment obtenir ces valeurs, mais d’abord un aperçu :

    Les trois premiers sont pour Matrix.

    • serveur domestique: Le serveur Matrix auquel vous vous connectez

    • Nom d’utilisateur: Votre identifiant Matrix

    • le mot de passe: Votre mot de passe Matrix

    Deux sont pour Discord :

    • jeton: Un jeton de développeur de bot obtenu auprès de Discord.

    • discord_cmd_prefix: Une séquence de caractères que vous souhaitez utiliser comme raccourci pour envoyer les commandes du bot via Discord.

    Et le dernier est pour les deux :

    Configurer la matrice

    Tout ce que vous avez à faire pour configurer le côté Matrix est d’ouvrir un compte Matrix pour votre bot.

    Ensuite, vous avez besoin de l’ID de la salle que vous souhaitez relier à Discord. Pour obtenir un ID de salle, cliquez avec le bouton droit sur l’icône de la salle dans le panneau de gauche d’Element et sélectionnez Copier le lien. Dans l’URL que vous venez de copier, il y a un point-virgule. L’ID de la salle est la partie à gauche du point-virgule et le serveur domestique de cette salle est à droite. Par exemple, supposons qu’il s’agisse de l’URL que vous venez de copier :

    https://matrix.to/#/!DEADBEEFzzzzABCDEF:matrix.org?via=matrix.org

    L’identifiant de la chambre est !DEADBEEFzzzzABCDEF et le serveur domestique est matrix.org.

    Vous pouvez maintenant ajouter les détails de votre matrice au config.json dossier. Par exemple:

        "homeserver": "https://matrix.org",
        "username": "@mybot:matrix.org",
        "password": "myBadPassword1234",
        "token": "",
        "discord_cmd_prefix": "",
        "bridge": {
            "": "!DEADBEEFzzzzABCDEF:matrix.org"
        }
    }
    ----

    Obtenir un jeton Discord

    En supposant que vous ayez déjà un compte sur Discord, ouvrez un navigateur Web et accédez à discordapp.com/developers/applications. Une fois connecté, cliquez sur le Nouvelle application bouton dans le Applications languette.

    Donnez un nom à votre bot. Pour cet exemple, j’utilise mybot.

    Après avoir défini un bot, cliquez dessus et trouvez le Robot catégorie dans le menu de gauche.

    Dans le Robot panneau, cliquez sur le Ajouter un robot bouton. Discord ajoute votre bot au panneau, vous alertant que “Un bot sauvage est apparu !” dans une boîte de message. Sous le nom de votre bot, il y a un lien sur lequel cliquer pour révéler le jeton de votre bot. Cliquez sur le lien et copiez le jeton dans votre fichier de configuration.

    "token": "07c63.fb2823cG759.b20_852f337a6551bc",

    Définir la commande du bot

    Choisissez une séquence de caractères que vous souhaitez utiliser pour envoyer des commandes au bot dans Discord. Dans le cas d’un pont simple, vous n’avez peut-être pas besoin d’émettre de commandes, donc cette valeur n’a probablement pas d’importance. je l’ai réglé sur !b mais je ne l’ai jamais utilisé.

    "discord_cmd_prefix": "!b",

    Ajoutez votre bot à Discord

    Vous devez maintenant ajouter votre bot au canal que vous souhaitez qu’il relie.

    1. Sélectionner OAuth2 dans le menu de gauche, puis Générateur d’URL.

      Seth Kenlon, CC BY-SA 4.0

    2. Dans le Champs d’application section, sélectionnez robot (et seulement robot). Dans le Autorisations des robots section qui apparaît sous le Champs d’application section, activez toutes les options sous Autorisations de texte.

    3. Copiez l’URL affichée en bas du panneau, dans le URL générée champ.

    Accédez à l’URL que vous venez de copier et ajoutez le bot au canal.

    Vous avez terminé avec l’interface Web Discord, mais vous avez maintenant besoin d’une option de configuration supplémentaire dans l’application Discord.

    Obtenir l’ID du canal Discord

    Dans Paramètres utilisateur de Discord (c’est l’icône d’engrenage à côté de votre nom sur l’application de bureau), sélectionnez Avancé. Dans le Avancé panneau, activer Mode développeur.

    Seth Kenlon, CC BY-SA 4.0

    Avec le mode développeur actif, accédez au canal que vous souhaitez relier. Par exemple, vous souhaiterez peut-être relier Matrix au apocalypse zombie canal sur le Exemple Serveur Discord. Tout d’abord, rejoignez le Exemple Serveur Discord. Puis faites un clic droit sur le canal de texte #apocalypse zombieet sélectionnez Copier l’ID.

    Seth Kenlon, CC BY-SA 4.0

    Collez l’ID du canal dans le fichier de configuration comme première valeur pour pont. Votre fichier de configuration complet contient maintenant :

        "homeserver": "https://matrix.org",
        "username": "@mybot:matrix.org",
        "password": "myBadPassword1234",
        "token": "07c63.fb2823cG759.b20_852f337a6551bc",
        "discord_cmd_prefix": "!b",
        "bridge": {
            "1030287944604463185": "!DEADBEEFzzzzABCDEF:matrix.org"
        }
    }

    Pont

    Votre bot agit maintenant comme un pont, du moins en théorie. Certains canaux Discord démarrent de nouveaux utilisateurs dans un état muet, et ils doivent recevoir des autorisations spéciales pour interagir. Si le canal Discord que vous reliez est strictement géré, vous devrez peut-être parler à un modérateur ou à un administrateur et demander des autorisations spéciales pour votre bot.

    Pour votre première tentative de configuration, il est plus simple de relier un serveur Discord à une salle Matrix que vous contrôlez. De cette façon, vous pouvez confirmer que cela fonctionne sans restriction. Après avoir confirmé la fonctionnalité, essayez de l’ajouter à une chaîne restreinte.

    L’open source comble une autre lacune

    L’open source fait beaucoup de travail lourd, y compris dans l’espace d’intégration. C’est au crédit de Matrix et de Discord qu’ils fournissent un écosystème de robots robuste, facile à apprendre et facile à utiliser. C’est au crédit de certains développeurs open source ingénieux que les deux peuvent être rapprochés.

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code