discord.js v13 成员存在未定义
Posted
技术标签:
【中文标题】discord.js v13 成员存在未定义【英文标题】:discord.js v13 member presence is undefined 【发布时间】:2021-10-16 21:43:30 【问题描述】:我正在尝试使用新的 discord.js 版本 13 获得用户的存在。我在我的连接中添加了以下意图:
const INTENTS = [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_PRESENCES,
Intents.FLAGS.GUILD_MEMBERS,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.GUILD_WEBHOOKS,
Intents.FLAGS.DIRECT_MESSAGES
]
但使用guild.members.fetch()
后,presence
属性为undefined
这就是我尝试访问它的方式
guild.members.fetch().then(members =>
const online = members.filter((member) => !member.user?.bot && member.user?.presence?.status != 'offline').map((member) => member);
)
我错过了什么吗?这个用法和 v12 配合得很好,还有什么变化吗?
要添加更多信息,我会在活动presenceUpdate
中获得presence
信息
client.on('presenceUpdate', (oldMember, newMember) =>
if (!newMember.user.bot && newMember.status != 'offline')
// do something
【问题讨论】:
您究竟是如何尝试访问该属性的?guild.members.fetch().then(members => const online = members.filter((member) => !member.user?.bot && member.user?.presence?.status != 'offline').map((member) => member); )
【参考方案1】:
在 v13 中,User.presence
似乎不是属性。你需要GuildMember.presence
guild.members.fetch().then(members =>
const online = members.filter((member) => !member.user?.bot && member.presence?.status != 'offline').map((member) => member);
)
【讨论】:
以上是关于discord.js v13 成员存在未定义的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js v13 机器人显示未定义而不是表情符号
discord.js 成员计数 - 无法读取未定义的属性“通道”
Discord.js - ReferenceError:未定义成员