等待消息并检查dm消息

  • 本文关键字:消息 dm 等待 discord.js
  • 更新时间 :
  • 英文 :


我所做的一切都不起作用我一直在互联网上寻找,没有什么能帮助我请帮忙,我的代码在下面。我将discord.js与node.js 14.15.0一起使用,这段代码不在main.js文件so客户端中。不起作用,im使用命令的集合

我试图检查用户何时对dm 中的消息做出响应

if(message.channel.type === 'dm'){
message.channel.awaitMessages(message.author.id, {max: 1, time: 30000}).then(collected => {
console.log(message.author);
if(collected.first().content.toLowerCase() == 'cancel'){
message.author.send('canceled');
}
}).catch(err =>{
message.author.send('took too long canceling');
});
};

在DM通道中等待消息时,message.author.send无效
由于这些DM仍在通道中,message.channel.send将正常工作
示例代码:

client.on('message', message => { //Adding the event listener
if(message.channel.type === 'dm') { //If the message was via direct message
message.channel.awaitMessages(message.author.id, { max: 1, time: 30000 }).then(collected => { //awaiting the next message
if (collected.first().content.toLowerCase() === 'cancel') { //if the awaited message is equal to 'cancel'
message.channel.send('Canceled prompt.'); //let the user know that their erequest has been canceled
}
}).catch {
message.channel.send('Timeout proceeded, canceling.'); //if the user has ran out of time, let them know
};
}
});

最新更新