Получить миниатюру видео для очереди песен discord.js

#javascript #discord #bots #discord.js

#javascript #Discord #боты #discord.js

Вопрос:

Итак, я пытаюсь получить миниатюру видео всякий раз, когда воспроизводится новая песня, поэтому, когда воспроизводится новая песня и написано «Now Playing: ${song.title}«, он также отправит миниатюру видео рядом с его названием, но я не знаю, как это сделать, есть идеи?

 } else {
    serverQueue.songs.push(song)
    if(playlist) return undefined
    song.videoURL = 'the url for the thumbnail';
    return message.channel.send(`__**${song.title}**__ has been queued`)
}
return undefined
}

function play(guild, song) {
    const serverQueue = queue.get(guild.id)

    if(!song) {
        serverQueue.voiceChannel.leave()
        queue.delete(guild.id)
        return
    }

    const dispatcher = serverQueue.connection.play(ytdl(song.url))
    .on('finish', () => {
      serverQueue.songs.shift()
      play(guild, serverQueue.songs[0])
    })
    .on('error', error => {
        console.log(error)
    })
    dispatcher.setVolumeLogarithmic(serverQueue.volume / 5)

    let embed = new Discord.MessageEmbed()
    .setTitle(`Now Playing: __**${song.title}**__`)
    .setColor('#FF0000')
    serverQueue.textChannel.send(embed)
}
  

Ответ №1:

Вы можете попробовать использовать song.thumbnail . Это будет работать, если вы используете ytdl:

 } else {
    serverQueue.songs.push(song)
    if(playlist) return undefined
    song.videoURL = 'the url for the thumbnail';
    return message.channel.send(`__**${song.title}**__ has been queued`)
}
return undefined
}

function play(guild, song) {
    const serverQueue = queue.get(guild.id)

    if(!song) {
        serverQueue.voiceChannel.leave()
        queue.delete(guild.id)
        return
    }

    const dispatcher = serverQueue.connection.play(ytdl(song.url))
    .on('finish', () => {
      serverQueue.songs.shift()
      play(guild, serverQueue.songs[0])
    })
    .on('error', error => {
        console.log(error)
    })
    dispatcher.setVolumeLogarithmic(serverQueue.volume / 5)

    let embed = new Discord.MessageEmbed()
    .setTitle(`Now Playing: __**${song.title}**__`)
    .setImage(song.thumbnail)
    .setColor('#FF0000')
    serverQueue.textChannel.send(embed)
}
  

Комментарии:

1. это вставка: js MessageEmbed { type: undefined, title: 'Now Playing: *Linked Horizon - Guren No Yumiya (Attack On Titan) FULL Opening Theme HQ*', description: undefined, url: undefined, color: 16711680, timestamp: null, fields: [], thumbnail: null, image: { url: undefined }, video: null, author: null, provider: null, footer: null, files: [] }

2. Не могли бы вы войти song , пожалуйста?

3. я запишу это, что вы хотите, чтобы я выполнил и куда мне поместить журнал?