我正在尝试发布一条消息,让用户做出反应并获得作用。我收到一个错误Cannot read property 'cache' of undefined
。定义了channelid和角色名称。
我的代码:
if(blueroleID !== 0) {
if (reaction.message.partial) await reaction.message.fetch();
if (reaction.partial) await reaction.fetch();
if(user.bot) return;
if (!reaction.message.guild) return;
if (reaction.message.channel.id === channelid){}
if (reaction.emoji.name === "?") {
await reaction.message.members.cache.get(user.id).roles.add(rolename)
}
}}) ```
答案 0 :(得分:0)
discord.js
Message
类没有members
属性。但是可以改用事件侦听器第二个参数中的User
对象。它是一个用户对象,但可以使用GuildMember
解析为Guild.member(User)
对象。因此,您可以使用以下代码:
await reaction.message.guild.member(user).roles.add(rolename)