#javascript #discord #discord.js #bots #ytdl
#javascript #Discord #discord.js #боты #ytdl
Вопрос:
Бот успешно подключается к голосовому каналу, но не воспроизводит песню с введенного мной URL, код:
if(message.content.startsWith(prefix "join"))
{
message.channel.send("Entrando a " message.member.voiceChannel);
if (message.member.voiceChannel)
{
const permissions = message.member.voiceChannel.permissionsFor(message.client.user);
if (!permissions.has('CONNECT'))
{
return message.channel.send('No me puedo conectar a ese canal')
}
if (!permissions.has('SPEAK')) {
return message.channel.send('No puedo hablar en ese canal')
}
let connection = await message.member.voiceChannel.join();
let dispatcher = connection.playStream(ytdl('https://www.youtube.com/watch?v=PLRrL9OsAF8amp;t=18s'))
.on('start', () => {
message.reply('Empieza la musica');
})
.on('end', () => {
message.reply('Termino la musica');
message.member.voiceChannel.leave();
})
.on('error', error => {
message.reply('Error al intentar reproducir la cancion');
});
dispatcher.setVolumeLogarithmic(5 / 5);
}
else
{
message.reply('Tenes que estar dentro de un chat de voz');
}
}
Кто-нибудь может определить потенциальную причину этого?
Комментарии:
1. Отладьте и получите более подробную информацию о проблеме. Отображается ли ошибка на консоли? Что-то происходит, когда вы пытаетесь выполнить команду для прослушивания музыки на discord? Добавьте больше информации к вашему вопросу, он очень пустой
2. @Aks Jacoves Привет, спасибо за комментарий, ошибка не отображается на консоли, предполагается, что с помощью команды «присоединиться» бот переходит на голосовой канал и автоматически воспроизводит песню с URL, проблема в том, что когда я запускаю команду, бот подключается к голосовому каналу, но не воспроизводит песню.
Ответ №1:
Из того, что я могу сказать, вы используете Discord.js V11, который не является рекомендуемой версией (V12)
Из документов, хотя кажется, что, возможно, вам нужно передать необязательный аргумент в ytdl
// Play streams using ytdl-core
const ytdl = require('ytdl-core');
const streamOptions = { seek: 0, volume: 1 };
voiceChannel.join()
.then(connection => {
const stream = ytdl('https://www.youtube.com/watch?v=XAWgeLF9EVQ', { filter : 'audioonly' });
const dispatcher = connection.playStream(stream, streamOptions);
})
.catch(console.error);
Если это не сработает Discord.js Сервер поддержки можно найти здесь. Они официально перешли на версию 12 в марте, но они все еще могут вам помочь