如何在删除邮件之前使代码等待(discord.js)

时间:2018-05-25 09:25:55

标签: javascript discord.js

所以我想在5秒后删除机器人的消息,但我不知道该怎么做。我要删除的邮件是message.channel.send(sender + ' IS A NAUGHTY BOY');。我知道如何删除我不知道如何制作的消息,以便在删除之前等待5秒。代码如下。

 if (msg.includes('swear1') || msg.includes('swear2') || msg.includes('swear3') || msg.includes('swear4') || msg.includes('swear5') || msg.includes('swear6')) {
 message.delete();
 message.author.send('**Please refrain yourself from swearing on this server, Thanks**' );
  message.channel.send(sender + ' IS A NAUGHTY BOY'); // this is the message i want to delete after 5 seconds
 console.log(sender + ' Just Said ' + msg.toUpperCase());
}

4 个答案:

答案 0 :(得分:1)

如果您需要等待几秒钟才能执行某项功能,请使用setTimeout Method。

setTimeout(function(){ 
    //Code
 }, 5000); //time in milliseconds

答案 1 :(得分:1)

您可以将超时传递给.delete方法docs

message.delete(5000);

可以胜任。

答案 2 :(得分:1)

如果要发送消息然后在5秒后删除该消息,则需要使用Promises来获取已发送的消息,然后将其删除。

message.channel.send(sender + ' IS A NAUGHTY BOY')
    .then(newMessage => newMessage.delete(5000));

这将发送消息,并且在发送之后将触发.then承诺。您将获得新的消息对象,以便随意执行任何操作。

文档:

答案 3 :(得分:0)

Discord.js 现在更新了

message.delete({timeout: 5000})