我将如何在此代码中插入 message.delete 命令?

时间:2021-06-30 19:34:50

标签: javascript node.js discord discord.js

所以我正在为我的机器人发出清除命令,我希望机器人在 2 秒后删除它发送的嵌入。我目前使用的是 discord.js,我也可以使用 node 的 ms 插件。所以每当我尝试类似

    try {
      await message.channel.bulkDelete(fetched)
        .then(messages =>message.channel.send(purgeEmbed))
    }catch (err) {
      console.log(err);
      message.channel.send(issuePurgeEmbed);
    }
     var message = await message.channel.send(purgeEmbed);
     message.delete({timeout: 2000});
  }
}

它有效,有点。结果是机器人发送 2 条消息并在 2 秒后删除一条。然后我尝试了

    try {
      await message.channel.bulkDelete(fetched)
        .then(messages =>message.channel.send(purgeEmbed))
        .then(message.delete({timeout: 2000})
    }catch (err) {
      console.log(err);
      message.channel.send(issuePurgeEmbed);
    }
  }
}

那也没有用。我对编码比较陌生,所以它可能只是我还没有学到的东西。如果使用 node 的 ms 插件有更简单的方法,那也可以。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

感谢 Elitezen 和 Shivam,我用更简单的顺序修复了代码。我编辑了代码,现在说明:

await message.channel.bulkDelete(fetched);
    var message = await message.channel.send(purgeEmbed).catch(err => console.log(err))
    message.delete({timeout: 2000 }).catch(err => console.log(err));

谢谢两位的帮助:)

答案 1 :(得分:0)

一种方法是:

await message.channel.bulkDelete(fetched).then(setTimeout(() => {
    message.delete().catch(err => console.log(err));
},2000));