discord.js реакция на функцию воспроизведения

#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 line hatebin .