serveur_hebergement:matrix:installer_un_pont_discord_-_matrix

Ceci est une ancienne révision du document !


Installer un pont Discord - Matrix

Pour créer un pont entre Matrix et Discord, nous allons utiliser matrix-appservice-discord

Il vous faut un serveur Matrix, Synapse par exemple, et PostgreSQL. Je pars du principe que vous avez suivi le tuto sur comment Installer Matrix et que vous avez déjà ces deux logiciels d'installés. Il vous faut également être administrateur d'un server discord et avoir créé un bot avec les Privileged Gateway Intents d'activés (pour créer un bot, allez sur le portail dev de Discord et créez une application et un bot).

Installez Node, npm ainsi que le paquet eslint

sudo aptitude install node npm eslint

Récupérez les sources

git clone https://github.com/Half-Shot/matrix-appservice-discord.git

Accédez au dossier créé

cd matrix-appservice-discord

Installez les dépendances

npm install

Lancez la compilation

npm run build

L'installation est finie, on peut passer à la configuration

Créez une copie du fichier example-config.yaml

cp config/config.sample.yaml config.yaml

Ouvrez le fichier config.yaml.

remplacez la ligne

domain: "localhost"

par

domain: "votrenomdedomaine"

Si le serveur Matrix tourne sur une autre machine, indiquez l'url du serveur Matrix.

Dans la partie “auth”, renseignez le clientID et le botToken du bot Discord. Le clientID correspond à l'Application ID que vous trouverez dans le menu General Information de votre application sur le portail dev de Discord. Le botToken se trouve dans le menu Bot de la même page. Passez également la variable

usePrivilegedIntents

à True.

Commentez la ligne

filename: "discord.db"

Remplacer la ligne

# connString: "postgresql://user:password@localhost/database_name"

par

connString: "postgresql://discordbridge:motdepasse@localhost:5432/discordbridge"

Mettez le mot de passe de votre choix, on créera la base de données plus tard.

Passons à la base de données

Connectez-vous avec l'utilisateur postgres

sudo -i -u postgres

Lancez PostgreSQL

psql

Créez l'utilisateur

CREATE ROLE discordbridge LOGIN PASSWORD 'mot_de_passe';

Mettez le même mot de passe que celui que vous avez renseigné dans le fichier config.yaml

Créez la base de données

CREATE DATABASE discordbridge OWNER discordbridge;

Quittez PostgreSQL

exit

Déconnectez-vous de l'utilisateur postgres

exit

Les ponts ont besoin d'un fichier registration.yaml pour avoir certain droits sur votre serveur. Pour le créer, lancez la commande suivante

node build/src/discordas.js -r -u "http://localhost:9005" -c config.yaml

Ensuite ouvrez le fichier homeserver.yaml de votre serveur et indiquez l'emplacement du fichier registration après la ligne “app_service_config_files:”

# A list of application service config file to use
app_service_config_files:
- "/home/pi/matrix-appservice-discord/discord-registration.yaml"

Relancez votre serveur Matrix

sudo systemctl restart matrix-synapse.service

Lancez la commande suivante afin d'obtenir un lien d'autorisation pour le bot

npm run addbot

Créez le fichier

/etc/systemd/system/matrix-appservice-discord.service

Copiez les lignes suivantes dedans

[Unit]
Description=matrix-discord bridge
After=matrix-synapse.service postgresql.service

[Service]
WorkingDirectory=/home/pi/matrix-appservice-discord
ExecStart=npm start
User=pi

[Install]
WantedBy=multi-user.target

Modifier les chemins et le nom de l'utilisateur si besoin.

Activez le service au démarrage

sudo systemctl enable matrix-appservice-discord.service

Démarrez le service

sudo systemctl start matrix-appservice-discord.service

Dans votre client Matrix (Element), accédez au salon #_discord_guildid_channelid:votre.serveur afin que le bot rejoigne un channel sur votre serveur Discord et crée un salon côté Matrix. Vous trouverez le “guildid” et le “channelid” dans l'url lorsque vous vous trouvez sur votre channel Discord sous la forme “https://discord.com/channels/GUILDID/CHANNELID

Vous pourriez laisser un commentaire si vous étiez connecté.
  • serveur_hebergement/matrix/installer_un_pont_discord_-_matrix.1665143361.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)