Discord member.guild.roles.cache.add不是一个函数,而是一个角色

Discord member.guild.roles.cache.add不是一个函数,而是一个角色,discord,discord.js,Discord,Discord.js,我试图实现的是有一个非常简单的机器人,将角色赋予具有该角色的人,并且仅当他们提到的人具有该角色时才给予角色,以下是我的意思示例 人1:嘿,我有一个受感染的角色 人2:我没有被感染的角色 人物2:blahblahblah@Person1 blahblahblah 现在Person2应该得到受感染的角色,但是每次有人用受感染的角色ping其他人时,我都会得到错误,这是我当前的代码 const Discord=require('Discord.js'); const client=new Disco

我试图实现的是有一个非常简单的机器人,将角色赋予具有该角色的人,并且仅当他们提到的人具有该角色时才给予角色,以下是我的意思示例

人1:嘿,我有一个受感染的角色

人2:我没有被感染的角色

人物2:blahblahblah@Person1 blahblahblah

现在Person2应该得到受感染的角色,但是每次有人用受感染的角色ping其他人时,我都会得到错误,这是我当前的代码


const Discord=require('Discord.js');
const client=new Discord.client();
client.login('我在这里有我的令牌,但因为这个问题我删除了它');
client.on('ready',()=>{
log(`Logged as${client.user.tag}!`);
console.log(“登录”)
client.user.setActivity(`discord.gg/ypj9PSx`{
类型:“流”,
url:“https://www.twitch.tv/ninja"})
.then(presence=>console.log(`您的状态已设置为${presence.game?presence.game.none:'none'}`))
.catch(控制台错误);
});
console.log(“设置状态”)
client.on(“message”,message=>{
const infectionStarted=true
const role=message.guild.roles.cache.find(r=>r.name==='infected')
const member=message.indications.members.first()
国际单项体育联合会(成员){
member.guild.roles.cache.add(角色)
}   
})
但是当我运行这个代码时,它给出了这个错误

TypeError:member.guild.roles.cache.add不是函数
在客户端。(/app/server.js:28:32)
在Client.emit(events.js:196:13)
在MessageCreateAction.handle(/rbd/pnpm volume/ec7e49f1-7b76-4ef8-9653-198213849c7/node_modules/.registry.npmjs.org/discord.js/12.3.1/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
在Object.module.exports[作为MESSAGE_CREATE](/rbd/pnpm volume/ec7e49f1-7b76-4ef8-9653-1982138496c7/node_modules/.registry.npmjs.org/discord.js/12.3.1/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
在WebSocketManager.handlePacket(/rbd/pnpm volume/ec7e49f1-7b76-4ef8-9653-198213849c7/node_modules/.registry.npmjs.org/discord.js/12.3.1/node_modules/discord.js/src/client/websocket/websocket/WebSocketManager.js:384:31)
在WebSocketShard.onPacket(/rbd/pnpm volume/ec7e49f1-7b76-4ef8-9653-198213849c7/node_modules/.registry.npmjs.org/discord.js/12.3.1/node_modules/discord.js/src/client/websocket/websocket/WebSocketShard.js:444:22)
在WebSocketShard.onMessage(/rbd/pnpm volume/ec7e49f1-7b76-4ef8-9653-198213849c7/node_modules/.registry.npmjs.org/discord.js/12.3.1/node_modules/discord.js/src/client/websocket/websocket/WebSocketShard.js:301:10)
在WebSocket.onMessage(/rbd/pnpm volume/ec7e49f1-7b76-4ef8-9653-1982138496c7/node_modules/.registry.npmjs.org/ws/7.3.1/node_modules/ws/lib/event target.js:125:16)
在WebSocket.emit(events.js:196:13)
在Receiver.receiverOnMessage(/rbd/pnpm volume/ec7e49f1-7b76-4ef8-9653-198213849c7/node_modules/.registry.npmjs.org/ws/7.3.1/node_modules/ws/lib/websocket.js:797:20)
如果有人能帮助我,我将不胜感激。

是一个没有名为
add
的方法

你要找的是一种方法


member.roles.add(角色)

注意:使用
member.guild.roles.cache
您实际上是在访问的缓存。(成员的公会角色,显然你不想这样做)

为什么C++标签?