我正在使用 distube.js 执行“正在播放”命令,但是当我尝试从发布歌曲的频道中提取信息时,它显示为“未定义”正在播放嵌入图像
这些是曲目信息。
有没有人有任何提示可以帮助我?
我到目前为止的代码
const { MessageEmbed } = require("discord.js");
const { errorbuilder } = require("../../handlers/functions");
const ee = require("../../botconfig/embed.json");
const bar = require(`stylish-text`)
module.exports = {
name: "nowplaying",
description: "Mostra os detalhes da música que está tocando",
permissions: ['SEND_MESSAGES'],
usage: "",
aliases: ["np", "nowplay"],
execute: async (client, message, args, Discord, cmd) => {
try {
const { channel } = message.member.voice;
if (!channel)
return message.channel.send(new MessageEmbed()
.setColor(ee.wrongcolor)
.setFooter(ee.footertext)
.setTitle(`❌ ERROR | Por favor entre em um canal primeiro`)
);
if (!client.distube.getQueue(message))
return message.channel.send(new MessageEmbed()
.setColor(ee.wrongcolor)
.setFooter(ee.footertext)
.setTitle(`❌ ERROR | Eu não estou tocando nada`)
.setDescription(`Fila vazia`)
);
if (client.distube.getQueue(message) && channel.id !== message.guild.me.voice.channel.id)
return message.channel.send(new MessageEmbed()
.setColor(ee.wrongcolor)
.setFooter(ee.footertext)
.setTitle(`❌ ERROR | Por favor entre no **meu** canal`)
.setDescription(`Canal: <#${message.guild.me.voice.channel.id}>`)
);
let queue = client.distube.getQueue(message);
let track = queue.songs[0];
console.log(track)
function toReadableTime(given) {
var time = given;
var minutes = "0" + Math.floor(time / 60);
var seconds = "0" + (time - minutes * 60);
return minutes.substr(-2) + ":" + seconds.substr(-2);
}
const current = Math.floor(queue.connection.dispatcher.streamTime / 1000) //ms --> seconds
const end = track.duration //video in seconds
const value = (current * (100 / end) / 5)
bar.default.full = "█";
bar.default.empty = " - ";
bar.default.start = "";
bar.default.end = "";
bar.default.text = "{bar}";
let npEmbed = new MessageEmbed()
.setColor(ee.color)
.setFooter(ee.footertext)
.setTitle(`:musical_note: ${track.name}`)
.setURL(track.url)
.setThumbnail(track.thumbnail)
.addField("Views", `:eye: \`${track.views}\``, true)
.addField("Likes", `:thumbsup: \`${track.likes}\``, true)
.addField("Dislikes", `:thumbsdown: \`${track.dislikes}\``, true)
.addField("Voice Channel", `<#${message.guild.me.voice.channel.id}>`, true)
.addField("By", `${track.channelName}`, true)
.addField('Play/Resume', client.distube.isPaused(message) === true ? "▶" : "⏸", true)
.addField("Duration: ", `${toReadableTime(current)} - [${bar.progress(20, value)}] - ${track.formattedDuration}`)
message.channel.send(npEmbed)
message.delete();
} catch (e) {
errorbuilder(e, message)
}
}
}
可能有用的信息
Discord.js 版本: 12.5.3 Distube 版本: 2.8.15 时尚文本版本: 1.1.3