NodeJS 如何删除交互.频道.发送消息

gmxoilav  于 2023-01-12  发布在  Node.js
关注(0)|答案(1)|浏览(115)

我有一个功能可以在发送邮件后删除它:

export function del(interaction) {
  setTimeout(() => interaction.deleteReply(), 1000);
}

我想把它转换成interaction.channel.send,之前我用的是interaction.reply(),但是我不想让我的机器人继续对每个命令都使用回复。我看了Discord文档,没有找到任何有用的东西。
任何帮助如何做到这一点将不胜感激!

j2qf4p5b

j2qf4p5b1#

使用interaction.channel.send时,需要跟踪创建的新消息(因为它与交互分离)。
下面是一个快速示例,其中我使用/ping命令创建和删除回复和消息:

module.exports = {
  data: new SlashCommandBuilder()
    .setName("ping")
    .setDescription("Replies with Pong!"),
  async execute(interaction) {
    await interaction.reply("Pong!");
    const msg = await interaction.channel.send("Pong! 2!");

    //Delete reply
    setTimeout(async () => {
      await interaction.deleteReply();
    }, 1000);

    //delete message
    setTimeout(async () => {
      await msg.delete();
    }, 1500);
  },
};

相关问题