Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发送邮件后如何删除?_Javascript_Node.js_Discord.js - Fatal编程技术网

Javascript 发送邮件后如何删除?

Javascript 发送邮件后如何删除?,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我有一个代码,当一个成员加入公会时会发送一条消息,我想稍后删除它 我的代码: client.on'guildMemberAdd',member=>{ var server=member.guild.id; 如果服务器==“760511134079254610”{ 让kanal=client.channels.cache.get'786172941703970860'; const embed=new Discord.MessageEmbed .setTitle'Hoşgeldin!' .setD

我有一个代码,当一个成员加入公会时会发送一条消息,我想稍后删除它

我的代码:

client.on'guildMemberAdd',member=>{ var server=member.guild.id; 如果服务器==“760511134079254610”{ 让kanal=client.channels.cache.get'786172941703970860'; const embed=new Discord.MessageEmbed .setTitle'Hoşgeldin!' .setDescription`**kullanıcısısunucumuza geldi` .setColor“蓝色” 卡纳尔·森德 }} 我尝试了embed.delete或只是经典的msg.delete,但无法/不知道如何将msg定义为bot发送的最后一个msg。

kanal.sendebed返回一个承诺。您可以在此处使用async/wait来获取该消息,以便稍后删除它。检查以下代码;应在5s后删除消息:

client.on'guildMemberAdd',异步成员=>{ const server=member.guild.id; 如果服务器==“760511134079254610”{ 让kanal=client.channels.cache.get'786172941703970860'; const embed=new Discord.MessageEmbed .setTitle'Hoşgeldin!' .setDescription`**kullanıcısısunucumuza geldi` .设置颜色为“蓝色”; 试一试{ const sentMessage=wait kanal.sendebed; 设置超时=>{ sentMessage.delete; }, 5000; }捕捉错误{ console.logerror; } } }; 更新:提到可以在sentMessage.delete中使用带有timeout属性的选项对象,而不是setTimeout,如下所示:

试一试{ const sentMessage=wait kanal.sendebed; 删除{timeout:5000}; }捕捉错误{ console.logerror; } // ... kanal.sendebed返回一个承诺。您可以在此处使用async/wait来获取该消息,以便稍后删除它。检查以下代码;应在5s后删除消息:

client.on'guildMemberAdd',异步成员=>{ const server=member.guild.id; 如果服务器==“760511134079254610”{ 让kanal=client.channels.cache.get'786172941703970860'; const embed=new Discord.MessageEmbed .setTitle'Hoşgeldin!' .setDescription`**kullanıcısısunucumuza geldi` .设置颜色为“蓝色”; 试一试{ const sentMessage=wait kanal.sendebed; 设置超时=>{ sentMessage.delete; }, 5000; }捕捉错误{ console.logerror; } } }; 更新:提到可以在sentMessage.delete中使用带有timeout属性的选项对象,而不是setTimeout,如下所示:

试一试{ const sentMessage=wait kanal.sendebed; 删除{timeout:5000}; }捕捉错误{ console.logerror; } // ...
这很简单,你只需要做

    kanal.send(embed).then(sentMessage => {
sentMessage.delete()
})

这将发送消息,然后立即删除它。但玩家将收到提及和/或桌面通知

这很容易,你只需要这样做

    kanal.send(embed).then(sentMessage => {
sentMessage.delete()
})

这将发送消息,然后立即删除它。但玩家将收到提及和/或桌面通知

它应该按预期工作。只需确保启用了意图:它应该按预期工作。只需确保已启用意图: