How to Play Audio File Into Channel?

后端 未结 5 961
长发绾君心
长发绾君心 2020-12-23 23:17

How do you play an audio file from a Discord bot? Needs to play a local file, be in JS, and upon a certain message being sent it will join the user who typed the message, an

5条回答
  •  北海茫月
    2020-12-23 23:53

    GitHub Project: LINK

    In order to do this there are a few things you have to make sure of first.

    1. Have FFMPEG installed & the environment path set for it in Windows [link]
    2. Have Microsoft Visual Studio (VS) installed [link]
    3. Have Node.js installed.[link]
    4. Have Discord.js installed in VS.

    From there the steps are quite simple. After making your project index.js you will start typing some code. Here are the steps:

    1. Add the Discord.js dependency to the project;

    var Discord = require('discord.js');

    1. Create out client variable called bot;

    var bot = new Discord.Client(); 3. Create a Boolean variable to make sure that the system doesn't overload of requests;

    var isReady = true;

    1. Next make the function to intercept the correct message;

    bot.on('message', message =>{ENTER CODE HERE});

    1. Create an if statement to check if the message is correct & if the bot is ready;

    if (isReady && message.content === 'MESSAGE'){ENTER CODE HERE}

    1. Set the bot to unready so that it cannot process events until it finishes;

    isReady = false;

    1. Create a variable for the channel that the message-sender is currently in;

    var voiceChannel = message.member.voice.channel;

    1. Join that channel and keep track of all errors;

    voiceChannel.join().then(connection =>{ENTER CODE HERE}).catch(err => console.log(err));

    1. Create a refrence to and play the audio file;

    const dispatcher = connection.play('./audiofile.mp3');

    1. Slot to wait until the audio file is done playing;

    dispatcher.on("end", end => {ENTER CODE HERE});

    1. Leave channel after audio is done playing;

    voiceChannel.leave();

    1. Login to the application;

    bot.login('CLIENT TOKEN HERE');

    After you are all finished with this, make sure to check for any un-closed brackets or parentheses. i made this because it took my hours until I finally found a good solution so I just wanted to share it with anybody who is out there looking for something like this.

提交回复
热议问题