node.js - discord.js v13 成员存在未定义
问题描述
我正在尝试使用新的 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 配合得很好,还有什么变化吗?
要添加更多信息,我会presence
在活动中获取信息presenceUpdate
client.on('presenceUpdate', (oldMember, newMember) => {
if (!newMember.user.bot && newMember.status != 'offline') {
// do something
}
解决方案
在 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);
})
推荐阅读
- git - 重置分支 master 中的 git commit:致命:不明确的参数“提交”:未知修订或路径不在
- typescript - 在柯里化函数中给出目标时如何实现结构类型安全
- reactjs - 如何创建全局样式表以在 Nx React 项目中共享 scss 变量?
- python - 通过规则(Pyrebase)授予计算机对实时数据库的唯一访问权限
- swift - 从 iOS MASL 登录隐藏 MSAL 继续弹出窗口
- ios - @StateObject 永远不会被破坏
- javascript - 需要刷新 3 次才能使用 hooks 获取所有值
- javascript - React 事件侦听器无法正常工作 Reflux 存储
- android - Python:如何将 .mp3 文件保存在 Android 上的“下载”文件夹中?
- android - 如何在 WebView 中调用 javascript 函数?