NodeJS 嵌入式更新-斜杠命令

nbnkbykc  于 2022-12-12  发布在  Node.js
关注(0)|答案(1)|浏览(120)

我有下面的代码创建一个斜杠命令。我希望嵌入每10秒更新一次。

const embed = new EmbedBuilder()
    .setAuthor({ name: track.title, iconURL: client.user.displayAvatarURL({ size: 1024, dynamic: true }) })
    .setThumbnail(track.thumbnail)
    .addFields(
        { name: "**volume**", value: `**${queue.volume}**` },
        { name: "**اtime**", value: `**${trackDuration}**` },
        { name: "**song**", value: `**${progress}**` },
        { name: "**repeat mode**", value: `**${methods[queue.repeatMode]}**` },
        { name: "**track**", value: `**${track.requestedBy}**` }
    )
    .setFooter({ text: inter.user.username, iconURL: inter.member.avatarURL({ dynamic: true }) })
    .setColor("ff0000")
    .setTimestamp();

我尝试使用setInterval,但没有成功。

8mmmxcuj

8mmmxcuj1#

您确实需要添加更多信息,但可以使用setInterval()
我只是猜测你如何使用你的机器人,interaction.editReply()是我的猜测,你发送嵌入作为答复,但你可以改变它的任何你想要的,和代码在setInterval将运行一次每10秒。
EDIT:如果您希望编辑它,您还需要发送初始回复。
例如:

const embed = new EmbedBuilder()
  .setAuthor({ name: track.title, iconURL: client.user.displayAvatarURL({ size: 1024, dynamic: true }) })
  .setThumbnail(track.thumbnail)
  .addFields(
    { name: '**volume**', value: `**${queue.volume}**` },
    { name: '**اtime**', value: `**${trackDuration}**` },
    { name: '**song**', value: `**${progress}**` },
    { name: '**repeat mode**', value: `**${methods[queue.repeatMode]}**` },
    { name: '**track**', value: `**${track.requestedBy}**` }
  )
  .setFooter({ text: inter.user.username, iconURL: inter.member.avatarURL({ dynamic: true }) })
  .setColor('ff0000')
  .setTimestamp();
// You need to send the initial embed if you wish to edit it
interaction.reply({ embeds: [embed] });

setInterval(() => {
  // Code to run every 10 seconds:
  interaction.editReply({ embeds: [embed] });
  // 10 seconds in milliseconds
}, 10000);

相关问题