Я хочу сделать "звуковую панель" на моем Discord Bot.
В настоящее время бот работает на Ubuntu Server 18.04 в VPS Hosting.
Я установил ffmpeg через aptitude apt-get install ffmpeg
и соответствующие нодовые модули в моем проекте через npm : npm install ffmpeg-binaries --save
и npm install node-opus --save
Iимейте этот предварительный код:
//Command syntax: !play (sound)
if (!args[0]) return message.channel.send('noCorrectSyntax'); //args is provided by module.run
let sound = args[0];
let isReady = true;
if (isReady) {
isReady = false;
let voiceChannel = message.member.voiceChannel;
if (!voiceChannel) return message.channel.send('noChannel');
voiceChannel.join().then(connection =>{
const dispatcher = connection.playFile(`../resources/audios/${sound}.mp3`);
if (!dispatcher) return message.channel.send('soundNotFound');
console.log(`Playing ${sound} on ${message.member.voiceChannel.name}`);
dispatcher.on("end", end => {
voiceChannel.leave();
console.log(`Finished`);
});
}).catch(err => console.log(err));
isReady = true;
} else {
return message.channel.send('botNotAvailable');
}
Когда мой бот присоединяется к голосовой комнате, он немедленно уходит без воспроизведения звука.
Я что-то не так делаю, установив ffmpeg кодек таким образом?Проблема с VPS?
(я пытался с новым ботом, установив ffmpeg на окнах и установив путь к переменной среды, и он работал нормально)
EDIT:
Я прослушал события "error" и "debug" в StreamDispatcher (как указано в https://discord.js.org/#/docs/main/stable/class/StreamDispatcher?scrollTo=e-error),, но я не получаю ошибокили отладочная информация.
Когда я слушаю «говорящее» событие, на моей консоли отображается как false