Les bots musique sur Discord sont très appréciés pour animer les serveurs en diffusant des morceaux, des playlists ou même des sons personnalisés. Que ce soit pour animer une soirée entre amis ou pour offrir une ambiance musicale en continu, créer votre propre bot est à la portée de tous, même sans être un expert en programmation. Voici un guide détaillé pour réussir votre projet sans difficulté.

Prérequis pour créer un bot musique sur Discord

Pour développer un bot musique fonctionnel, vous aurez besoin de quelques éléments indispensables :

  1. Node.js : Installez la dernière version depuis le site officiel de Node.js pour utiliser les commandes nécessaires.
  2. Discord Developer Portal : Pour créer et gérer votre application bot.
  3. Clé d’API YouTube ou Spotify : Nécessaire pour diffuser de la musique directement depuis ces plateformes.
  4. Discord.js : La bibliothèque JavaScript qui permet de contrôler le bot.
  5. FFmpeg : Pour la gestion et le traitement des flux audio.

💡 Astuce : Vérifiez que votre système est bien configuré pour utiliser FFmpeg en ajoutant son chemin aux variables d’environnement.

Étape 1 : Créer l’application Discord

Pour démarrer, allez sur le Discord Developer Portal et suivez ces étapes :

  1. Cliquez sur “New Application” et nommez votre bot (par exemple, “Bot Musique Discord”).
  2. Accédez à l’onglet “Bot” et cliquez sur “Add Bot” pour le créer.
  3. Cochez “Public Bot” si vous prévoyez de le partager.
  4. Activez les options “Presence Intent” et “Server Members Intent” pour assurer le bon fonctionnement du bot.
  5. Copiez le Token généré, vous en aurez besoin pour l’authentification.

Étape 2 : Configurer les autorisations du bot

Les bonnes autorisations permettent au bot de fonctionner sans problème :

  1. Dans l’onglet OAuth2, sélectionnez “bot”.
  2. Cochez les permissions suivantes :
    • Connect : pour rejoindre les canaux vocaux.
    • Speak : pour diffuser de l’audio.
    • Read Message History : pour consulter les messages récents.
    • Send Messages : pour répondre aux commandes.
    • Embed Links : pour insérer des liens YouTube ou Spotify.
  3. Générez un lien d’invitation avec les permissions définies et ajoutez votre bot à un serveur Discord.
À lire  Google intègre son IA Gemini à Chrome pour iPhone et iPad

Étape 3 : Préparer l’environnement de développement

Créez un dossier pour votre projet bot musique, puis ouvrez un terminal à cet emplacement et lancez la commande suivante :

csharp

CopierModifier

npm init -y

Ensuite, installez les modules nécessaires :

java

CopierModifier

npm install discord.js @discordjs/opus ffmpeg-static ytdl-core

💡 Astuce : Vérifiez régulièrement les mises à jour des packages pour garantir un fonctionnement optimal.

Étape 4 : Écrire le code du bot musique

Créez un fichier index.js et ajoutez le code suivant :

javascript

CopierModifier

const { Client, GatewayIntentBits } = require(‘discord.js’);

const { joinVoiceChannel, createAudioPlayer, createAudioResource } = require(‘@discordjs/voice’);

const ytdl = require(‘ytdl-core’);

const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });

client.once(‘ready’, () => {

    console.log(‘Bot musique en ligne’);

});

client.on(‘messageCreate’, async (message) => {

    if (message.content.startsWith(‘!play’)) {

        const args = message.content.split(‘ ‘);

        const url = args[1];

        if (!url) return message.reply(‘Veuillez fournir un lien YouTube.’);

        if (!message.member.voice.channel) return message.reply(‘Vous devez être dans un canal vocal.’);

        const connection = joinVoiceChannel({

            channelId: message.member.voice.channel.id,

            guildId: message.guild.id,

            adapterCreator: message.guild.voiceAdapterCreator,

        });

        const stream = ytdl(url, { filter: ‘audioonly’ });

        const resource = createAudioResource(stream);

        const player = createAudioPlayer();

        player.play(resource);

        connection.subscribe(player);

        player.on(‘error’, (error) => {

            console.error(`Erreur de lecture : ${error.message}`);

        });

        message.reply(`🎵 Lecture en cours : ${url}`);

    }

    if (message.content === ‘!stop’) {

        const voiceChannel = message.member.voice.channel;

        if (voiceChannel) {

            voiceChannel.leave();

            message.reply(‘Musique arrêtée.’);

        }

    }

});

client.login(‘VOTRE_TOKEN’);

💡 Astuce : Pour une gestion plus avancée, vous pouvez ajouter des commandes pour la mise en pause, la reprise et la gestion de la file d’attente.

Étape 5 : Lancer et tester le bot musique

Pour démarrer votre bot, utilisez la commande suivante dans le terminal :

À lire  Peut on télécharger toutes ses anciennes stories sur Instagram ?

nginx

CopierModifier

node index.js

Sur votre serveur Discord, vous pouvez désormais tester les commandes :

  • !play [URL YouTube] pour lancer une musique.
  • !stop pour arrêter la lecture.

Étape 6 : Héberger le bot en continu

Pour éviter que votre bot ne s’arrête lorsque vous fermez votre terminal, utilisez un service d’hébergement comme :

  • Heroku
  • AWS
  • Vultr

💡 Conseil : Utilisez PM2 pour maintenir le bot en ligne en permanence sur votre serveur.