Как мне сделать команду воспроизведения в discord.js?

#javascript #node.js #discord #discord.js

Вопрос:

Я хочу знать, как сделать команду воспроизведения. Я заставил его подключиться к Голосовому каналу, но он не будет воспроизводить музыку.

Вот код:

 client.on("message", (message) => {
    if (message.content.startsWith("!play")) {
        const ytdl = require("ytdl-core");

        message.member.voice.channel.join().then((connection) => {
            const stream = ytdl(args[1], { filter: "audioonly" });
            const dispatcher = connection.play(stream);

            dispatcher.on("finish", () => voiceChannel.leave());
        });
    }
});

 

Ответ №1:

Установите discord-ytdl-core вместо ytdl-core и попробуйте выполнить приведенный ниже код

 
    client.on("message", (message) => {
        if (message.content.startsWith("!play")) {
           const ytdl = require("discord-ytdl-core");
            const args = message.content.trim().split(' ');
            message.member.voice.channel.join().then((connection) => {
                const stream = ytdl(args[1], { filter: "audioonly",opusEncoded: true });
                const dispatcher = connection.play(stream, { type: "opus" }).on("finish", () => connection.disconnect());
            });
        }
    });

 

Редактировать: также убедитесь, что у вас установлены ffmpeg и opusscript

Комментарии:

1. Не получилось. просто подключился, но ничего не играл.

2. На какой операционной системе вы работаете? У вас установлены ffmpeg и opusscript?

3. К сожалению, я использую chromebook, поэтому я использую repl.it IDE. и я не знаю

4. перейти к repl.it оболочку и установите ffmpeg-статический и opusscript с помощью npm i ffmpeg-static opusscript

5. Я пытался воспроизвести вашего бота в repl.it и заставил это сработать. Я оставляю ссылку здесь на случай, если вы захотите проверить.