Node.js 如何在channel discord.js中获得用户的所有提及

Node.js 如何在channel discord.js中获得用户的所有提及,node.js,bots,discord.js,Node.js,Bots,Discord.js,因此,我尝试创建一个简单的bot,当用户写入时: !有多少个点{user} 它应该只去一个特定的频道,搜索它在特定频道中被提及的次数 到目前为止,我遇到了函数fetchAttentions(),但它似乎已被弃用,而且当机器人尝试这样做时,API不喜欢它 任何输入或至少是更好的方法。也许我一心想让它发挥作用 const Discord=require('Discord.js') const client=new Discord.client() client.on('message',msg=>

因此,我尝试创建一个简单的bot,当用户写入时:

!有多少个点{user}

它应该只去一个特定的频道,搜索它在特定频道中被提及的次数

到目前为止,我遇到了函数fetchAttentions(),但它似乎已被弃用,而且当机器人尝试这样做时,API不喜欢它

任何输入或至少是更好的方法。也许我一心想让它发挥作用

const Discord=require('Discord.js')
const client=new Discord.client()
client.on('message',msg=>{
if(msg.content.includes(“!howmanypoints”)| | msg.content.includes(“!cuantospuntos”)){
const canal_de_share=client.channels.find('name','dev'))
const id_user=client.user.id
client.user.fetchAttentions({guild:id\u user})
.then(console.log)
.catch(控制台错误);
}
})
已弃用,仅适用于用户帐户

作为替代方案,您可以获取该频道的所有消息,并对每个消息进行迭代,检查是否有提及

例如:

let-tenties=0;
const channel=client.channels.find(c=>c.name=='dev');
const userID=client.user.id;
channel.fetchMessages()
。然后(消息=>{
for(让消息成为消息中的消息){
if(message.indications.users.get(userID))提到++;
}
console.log(提及);
})
.catch(控制台错误);
已弃用,仅适用于用户帐户

作为替代方案,您可以获取该频道的所有消息,并对每个消息进行迭代,检查是否有提及

例如:

let-tenties=0;
const channel=client.channels.find(c=>c.name=='dev');
const userID=client.user.id;
channel.fetchMessages()
。然后(消息=>{
for(让消息成为消息中的消息){
if(message.indications.users.get(userID))提到++;
}
console.log(提及);
})
.catch(控制台错误);

嘿,我编辑了你的答案,但因为它完全基于你的代码,我认为反映一个“工作代码”会很有用。从:if(mensaje.indications.users.get(client.user.id))到:if(message[1].content.includes(id\u user))不确定它为什么不工作,但我做了一个变通办法。。你觉得呢?你应该坚持使用它。如果您只是在消息中搜索用户的ID,您可以将消息拆分为一个参数数组,并对它们进行迭代,将每个参数与ID进行比较。嘿,我编辑了您的答案,但由于它完全基于您的代码,我认为反映“工作代码”会很有用。由此可知:If(mensaje.indications.users.get(client.user.id))发送到:if(消息[1].content.includes(id\u用户))我不太清楚它为什么不起作用,但我做了一个变通办法。你认为呢?你应该坚持使用它。如果你只是在消息中搜索用户的ID,你可以将消息拆分为一个参数数组,并对它们进行迭代,将每个参数与ID进行比较。