2017-01-11 7 views
1

Как вы играете в аудиофайл с бота? Нужно играть в локальный файл, находиться в JS, а при отправке определенного сообщения он присоединяется к пользователю, который набрал сообщение, и будет воспроизводить файл на этом канале.Discord.js | Как воспроизвести аудиофайл в канал?

ответ

4

GitHub проект: LINK

Для того, чтобы это сделать, есть несколько вещей, которые вы должны убедиться, что в первую очередь.

  1. Have FFMPEG установлен & путь среды установить его в Windows, [link]
  2. ли Visual Studio (VS) установлен Microsoft [link]
  3. Наличие Node.js установлен. [link]
  4. Устанавливать Discord.js в VS. [link]

Оттуда шаги довольно просты. После создания вашего проекта index.js вы начнете вводить код. Ниже приведены этапы:

  1. Добавить Разлад.js зависимость от проекта;

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

  2. Создать из переменной клиента под названием бот;

    var bot = new Discord.Client();

  3. Создать логическую переменную, чтобы убедиться, что система не перегружает запросов;

    var isReady = true;

  4. Следующая сделать функцию для перехвата правильное сообщение;

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

  5. Создать если заявление, чтобы проверить, является ли сообщение правильно & если бот готов;

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

  6. Установите бот неготовым так, что он не может обрабатывать события, пока не закончится;

    isReady = false;

  7. Создайте переменную для канала, что сообщение-отправитель в настоящее время в;

    var voiceChannel = message.member.voiceChannel;

  8. Присоединяйтесь к этому каналу и отслеживать все ошибки;

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

  9. Создать refrence для и воспроизведения звукового файла;

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

  10. Slot ждать, пока звуковой файл не будет сделано играть;

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

  11. Оставьте канал после того, как звук делается играть;

    voiceChannel.leave();

  12. Войти в приложение;

    bot.login('CLIENT TOKEN HERE');

После того как вы все закончили с этим, убедитесь, чтобы проверить наличие не-закрытые скобки или скобки. я сделал это, потому что мне потребовались часы, пока я наконец не нашел хорошее решение, поэтому я просто хотел поделиться им с кем-то, кто там ищет что-то вроде этого.