Javascript 向对消息做出反应的用户发送消息

Javascript 向对消息做出反应的用户发送消息,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我想创建一个命令,将DM发送给对来自ID的消息做出反应(所有反应)的用户。我想过滤机器人程序,如果一个用户做出两次反应,则不会为其发送两条消息 if(命令=='gopv'){ message.channel.messages.fetch(“806866144597770280”)。然后((reactionMessage)=>{ console.log( reactionMessage.reactions.cache .each(异步(反应)=>等待反应.users.fetch()) .map((

我想创建一个命令,将DM发送给对来自ID的消息做出反应(所有反应)的用户。我想过滤机器人程序,如果一个用户做出两次反应,则不会为其发送两条消息

if(命令=='gopv'){
message.channel.messages.fetch(“806866144597770280”)。然后((reactionMessage)=>{
console.log(
reactionMessage.reactions.cache
.each(异步(反应)=>等待反应.users.fetch())
.map((reaction)=>reaction.users.cache.filter((user)=>!user.bot))
.flat()
);
});
}

我可能会创建一个
dmSent
对象,将用户ID作为键,这样我就可以轻松地检查是否已经向他们发送了DM。当您循环查看对消息做出反应的用户时,您可以检查该ID是否已经存在,或者该用户是否是机器人。如果在
dment
对象中找不到用户,则可以发送消息并将用户ID添加到该对象中

我刚刚检查过,下面只向每个至少对该消息做出反应的用户发送一条消息:

if(命令=='gopv'){
常数dmSent={};
试一试{
const{reactions}=wait message.channel.messages.fetch('806866144597770280');
反应.cache.each(异步(反应)=>{
const usersreact=wait reaction.users.fetch();
usersreact.each((用户)=>{
if(dment[user.id]| | user.bot)返回;
dment[user.id]=true;
user.send('您至少发送了一个反应,所以这里有一个DM');
});
});
}捕捉(错误){
控制台日志(err);
}
}