#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 и заставил это сработать. Я оставляю ссылку здесь на случай, если вы захотите проверить.