Votre bot a besoin de trois valeurs de votre node Lavalink : l’hôte, le port et le mot de passe. L’hôte et le port forment l’Adresse dans l’Aperçu du node ; le mot de passe se trouve dans application.yml. Votre bibliothèque cliente doit prendre en charge Lavalink version 4 et le chiffrement vocal DAVE de Discord, et l’option sécurisée (SSL) reste désactivée.
- Dans l’Aperçu du serveur Lavalink, copiez l’Adresse (hôte et port), et copiez le mot de passe depuis
application.yml. - Sur la page Bot de votre serveur de bot, Environnement, ajoutez
LAVALINK_HOST,LAVALINK_PORTetLAVALINK_PASSWORD. - Ajoutez le code client de votre bibliothèque (exemples plus bas), avec l’option sécurisée (SSL) désactivée.
- Redémarrez le bot et vérifiez qu’il signale le node comme connecté.
Chaque étape est expliquée plus bas.
Ce que demande chaque client
| Paramètre | Valeur |
|---|---|
| Hôte | La partie de l’Adresse avant les deux-points, par exemple 203.0.113.10 |
| Port | Le nombre après les deux-points |
| Mot de passe | Le password: sous lavalink:, server: dans application.yml |
| Sécurisé / SSL | Désactivé : le node utilise http et ws simples |
Où les trouver : Comment héberger un serveur Lavalink 24h/24 (24/7).

Utilisez une version du client compatible DAVE
Depuis le 2 mars 2026, Discord n’autorise dans ses salons vocaux (hors salons de conférence) que les clients vocaux compatibles avec son chiffrement de bout en bout, le protocole DAVE. Lavalink prend en charge DAVE depuis la version 4.2.0, et votre node tourne en 4.2.2. D’après les notes de version de Lavalink 4.2.0, le client doit lui aussi être mis à jour : il doit désormais envoyer l’ID du salon vocal au node. Une ancienne version du client se connecte encore au node, mais Lavalink ne peut pas ouvrir la connexion vocale, donc rien ne se lit. La version à utiliser pour chaque client courant, ou n’importe quelle version plus récente :
| Client | Langage | Utilisez cette version ou une plus récente |
|---|---|---|
| Shoukaku | Node.js | 4.3.0 (28 févr. 2026) |
| lavalink-client | Node.js | 2.9.7 (2 mars 2026). Le travail sur DAVE a commencé dans la 2.9.3 (27 févr. 2026) ; son auteur appelle la 2.9.7 la première version majeure avec DAVE. |
| Wavelink | Python | 3.5.1 (11 avr. 2026) |
| Lavalink.py | Python | 5.10.0 (28 févr. 2026) |
Pour les autres bibliothèques, la liste de clients de Lavalink a une colonne DAVE. Avec un ancien client, votre node répond à la mise à jour vocale par une erreur 400 qui indique token, endpoint, sessionId and channelId must be provided in voice state. (Un bot qui se connecte lui-même à la voix de Discord, sans Lavalink, reçoit à la place le code de fermeture 4017 de Discord, E2EE/DAVE protocol required.)
Gardez les valeurs hors de votre code
Les exemples ci-dessous lisent LAVALINK_HOST, LAVALINK_PORT et LAVALINK_PASSWORD dans l’environnement. Si votre bot tourne sur une offre bot PlayNHost :
- Ouvrez la page Bot du serveur de bot et cliquez sur Environnement.
- Sous Ajouter une variable, ajoutez
LAVALINK_HOSTetLAVALINK_PORT. AjoutezLAVALINK_PASSWORDen cochant Garder cette valeur secrète. - Redémarrez le bot. Les variables lui parviennent au démarrage.
En savoir plus : Comment définir des variables d’environnement et des secrets pour votre bot Discord.
Node.js avec Shoukaku
Paquets : discord.js et shoukaku (4.3.0 ou plus récente).
const { Client, Events, GatewayIntentBits } = require('discord.js');
const { Shoukaku, Connectors } = require('shoukaku');
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates] });
const nodes = [{
name: 'playnhost',
url: `${process.env.LAVALINK_HOST}:${process.env.LAVALINK_PORT}`,
auth: process.env.LAVALINK_PASSWORD,
}];
// Create it before client.login(): Shoukaku connects when the bot is ready.
const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), nodes);
shoukaku.on('ready', (name) => console.log(`Lavalink node ${name} connected`));
shoukaku.on('error', (name, error) => console.error(`Lavalink node ${name}:`, error));
client.once(Events.ClientReady, () => console.log(`Logged in as ${client.user.tag}`));
client.login(process.env.DISCORD_TOKEN);
La documentation de Shoukaku montre comment rejoindre un salon vocal et jouer une piste une fois le node connecté.
Python avec Wavelink
Paquets : discord.py et wavelink (3.5.1 ou plus récente).
import os
import discord
import wavelink
from discord.ext import commands
class Bot(commands.Bot):
def __init__(self):
super().__init__(command_prefix="!", intents=discord.Intents.default())
async def setup_hook(self):
node = wavelink.Node(
uri=f"http://{os.environ['LAVALINK_HOST']}:{os.environ['LAVALINK_PORT']}",
password=os.environ["LAVALINK_PASSWORD"],
)
await wavelink.Pool.connect(nodes=[node], client=self)
async def on_wavelink_node_ready(self, payload: wavelink.NodeReadyEventPayload):
print(f"Lavalink node {payload.node.identifier} connected")
bot = Bot()
bot.run(os.environ["DISCORD_TOKEN"])
setup_hook s’exécute une seule fois, avant la connexion du bot ; on_ready peut s’exécuter de nouveau après chaque reconnexion : ne connectez donc pas le node à cet endroit.
Autres clients
Tout client qui prend en charge Lavalink 4 et DAVE fonctionne de la même façon avec les mêmes trois valeurs, par exemple lavalink-client pour discord.js ou Lavalink.py pour Python. Un client écrit pour Lavalink 3 ne peut pas parler à un node en version 4.
Il ne se connecte pas
- Connexion refusée ou délai dépassé : l’hôte ou le port est faux, ou le node est arrêté. Copiez à nouveau l’Adresse depuis l’Aperçu et vérifiez que la console affiche
Lavalink is ready to accept connections. 401ouUnauthorized: le mot de passe ne correspond pas à celui deapplication.yml. Copiez-le à nouveau sans les guillemets.- Une erreur SSL ou TLS : le mode sécurisé est activé dans votre client. Désactivez-le, ou utilisez
http://au lieu dehttps://. - Il se connecte, puis ne joue rien : vérifiez d’abord que la version de votre client n’est pas plus ancienne que celle du tableau ci-dessus. Ensuite : le bot a besoin de Se connecter et de Parler dans le salon vocal, et le node a besoin d’une source capable de jouer ce que vous avez demandé : Erreurs Lavalink et leur signification.
Vous utilisez encore un node public gratuit ? Node public ou votre propre node compare les options.



