Discord notification when someone joins voice channel

Discord ne signale pas toujours dans un salon textuel qu’un membre vient de rejoindre un salon vocal. Pour avertir les personnes absentes, un bot peut publier une notification lorsqu’une activité vocale commence ou se termine.

Join Notifier est une solution auto-hébergée : il envoie un message dans le salon textuel choisi, à partir des événements de connexion et de départ. Voici comment la configurer, la lancer et résoudre un problème DNS sous Docker.

À retenir : notification Discord à l’arrivée dans un salon vocal

  • Choisissez le salon textuel qui recevra chaque alerte.
  • Préparez un jeton d’application Discord et l’identifiant du salon.
  • Le programme nécessite Java 17 ou une exécution sous Docker.
  • Un DNS local mal configuré peut empêcher le bot de joindre Discord.

Configurer le bot de notification Discord

Choisir les salons et préparer les identifiants

Join Notifier publie dans un salon textuel les arrivées et départs détectés dans les salons audio. Dans la version décrite par le projet, l’identifiant du salon cible est défini sur la machine qui héberge le programme.

Activez le mode développeur dans Discord pour copier l’identifiant du salon textuel avec un clic droit. Créez ensuite une application dans le portail développeur Discord et récupérez son jeton. Gardez ce jeton privé : toute personne qui le détient peut agir comme le bot.

  • JOIN_NOTIFIER_TEXT_CHANNEL_ID : identifiant du salon où publier les alertes.
  • JOIN_NOTIFIER_TOKEN : jeton associé à l’application Discord.
  • JOIN_NOTIFIER_LOGS : chemin du dossier de journaux, notamment pour la configuration Docker Compose.
A lire :  Comment avoir un tag sur son serveur Discord ?

Comprendre les notifications natives et celles du bot

Les réglages de notification de Discord concernent les messages et activités visibles dans l’application. Ils ne constituent pas nécessairement une alerte dédiée à chaque connexion vocale. Un bot apporte cette fonction en relayant l’événement dans un canal textuel.

“The Join Notifier Discord Bot’s main functionality is to simply message in a text channel when a user joins or leaves a voice channel.”

Présentation du projet Join Notifier

Pour une petite communauté, ce relais évite de surveiller constamment la liste des participants. Dans un scénario de test, un groupe de jeu peut recevoir un message dès qu’un membre rejoint son salon vocal, puis décider de le rejoindre à son tour.

Lancer Join Notifier avec Java ou Docker

Démarrer l’application avec Java 17

La machine d’hébergement doit disposer de Java 17 ou d’une version ultérieure. Après avoir défini les variables d’environnement, lancez le fichier compilé dans un terminal :

java -jar join-notifier-0.0.1.jar

Pour construire le projet depuis son code source, installez aussi Apache Maven et Java. Exécutez la commande Maven prévue par le dépôt, puis démarrez le fichier JAR produit. Si la connexion à discord.com échoue, vérifiez le DNS avant de modifier le code.

Exécuter le bot dans un conteneur

Docker permet de lancer le programme dans un environnement isolé. Construisez l’image depuis le répertoire du projet, car le Dockerfile s’appuie sur le JAR présent dans le dossier target.

Avec Docker Compose, lancez le service depuis le répertoire contenant compose.yaml. Une commande Docker directe peut aussi transmettre les identifiants :

  • Construisez l’image à partir du Dockerfile du dépôt.
  • Transmettez l’identifiant du salon et le jeton au conteneur.
  • Définissez une politique de redémarrage si le service doit repartir après un arrêt.
  • Vérifiez les journaux pour repérer les erreurs de connexion ou de configuration.
A lire :  Photos de profil Discord : formats, astuces et outils

Exemple de lancement sous Linux : docker run -d -e JOIN_NOTIFIER_TEXT_CHANNEL_ID=$JOIN_NOTIFIER_TEXT_CHANNEL_ID -e JOIN_NOTIFIER_TOKEN=$JOIN_NOTIFIER_TOKEN –name join-notifier discord-join-notifier. Le port publié dans un exemple n’est à conserver que si l’application l’utilise réellement.

Résoudre les problèmes de notification et de DNS

Vérifier l’accès à Discord depuis Docker

Un conteneur peut ne pas résoudre discord.com si le serveur DNS tourne lui-même dans un autre conteneur. Ce cas a été signalé avec une installation combinant Join Notifier et Pi-hole sur un Raspberry Pi 5.

Sur un système Debian compatible, la piste documentée consiste à installer openresolv, puis à ajuster /etc/resolvconf.conf pour que la configuration DNS locale soit prise en compte. Après actualisation de resolv.conf, contrôlez depuis le conteneur que le nom discord.com est résolu.

  • Vérifiez d’abord que le conteneur dispose d’une connexion réseau.
  • Confirmez que les trois variables attendues sont définies correctement.
  • Inspectez les journaux du bot pour distinguer un refus d’accès d’une panne DNS.
  • Testez la résolution du nom de domaine depuis l’environnement Docker.

La documentation Docker et les détails de configuration varient selon l’hôte. La solution liée à openresolv concerne surtout les installations où un DNS local, tel que Pi-hole, fonctionne dans un conteneur.

Choisir le bon canal d’alerte

Un salon textuel dédié limite le bruit dans les discussions générales. Pour un serveur de jeu, par exemple, un canal nommé « présence vocale » rend l’arrivée visible sans interrompre les conversations en cours.

Le dépôt Join Notifier décrit un message à chaque arrivée ou départ dans un canal audio. D’autres bots, comme PingMan ou VoiceNotify, proposent des réglages de destinataires ou de salons selon leur configuration. Vérifiez leurs autorisations avant de les ajouter au serveur.

A lire :  Partage d'écran Discord PS5 : activer et résoudre les blocages
Besoin Option à vérifier
Avertir tout le serveur Publication dans un canal textuel consulté par les membres
Limiter les pings Sélection des personnes ou groupes concernés
Suivre arrivées et départs Événements vocaux pris en charge par le bot
Diagnostiquer une panne Journaux, variables d’environnement et résolution DNS

“Discord’s channel notification settings provide granular control over alerts at the individual channel level.”

Documentation Discord, « Notifications Settings 101 »

Cette distinction aide à choisir entre les réglages intégrés de Discord et une alerte automatisée. Pour une notification de connexion vocale visible par les membres absents, le point déterminant reste le relais dans un canal textuel.

Laisser un commentaire