#javascript #discord.js
#javascript #discord.js
Вопрос:
Я почти уверен, что это означает, что сообщение не определено, но почему я думаю, что я его определил, кто-нибудь знает, в чем проблема? Я перепробовал все, что мог. он отправляет эту ошибку (произошла ошибка при подключении к голосовому каналу: TypeError: не удается прочитать свойство ‘react’ неопределенного значения)
function play(guild, song, client, message) {
const serverQueue = client.queue.get(guild.id)
const loop = client.loop.get(guild.id)
console.log(loop)
if (!song) {
serverQueue.voiceChannel.leave()
client.queue.delete(guild.id)
return
}
const dispatcher = serverQueue.connection.play(ytdl(song.url))
.on('finish', () => {
if (loop === undefined) {
serverQueue.songs.shift()
}
play(guild, serverQueue.songs[0], client, message)
})
.on('error', error => {
console.log(error)
})
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5)
if (loop === undefined) {
const reaction = (reaction) => reaction.emoji.name === '⏭️';
serverQueue.textChannel.send(`Playing: **${song.title}**`)
message.react('⏭️')
.then(console.log)
.catch(console.error);
message.awaitReactions((reaction) => (reaction.emoji.name == '⏭️'),
{ max: 1 }).then(collected => {
if (collected.first().emoji.name == '⏭️') {
if(!message.member.voice.channel) return message.channel.send("You need to be in a voice channel to skip the music")
if(!serverQueue) return message.channel.send("There is nothing to playing")
serverQueue.connection.dispatcher.end()
client.loop.delete(message.guild.id)
}
return undefined
})
}
}
Ответ №1:
Вы правы. Внутри play(<args>){...}
функции, которую вы пытаетесь .react()
вызвать undefined
. Не могли бы вы подробнее осветить эту проблему? Как контекст вызова, чтобы понять, почему play(<args>){}
не получает значения для своего 4-го параметра, message.
Комментарии:
1. я могу выслать вам весь код, если хотите hatebin.com/vzdnkyrqbk
2. спасибо, я не вижу контекста, в котором вызывается
play(<args>)
функция, определенная в строке121
. Что это вызывает?3. это указано выше, поэтому функция воспроизведения определена из приведенного выше, по крайней мере, так, как я сделал
4. в приведенном вами примере на
parameter
отсутствует 4-я строка,137
переданная функции on linehatebin
.