无法访问 discord.js 中的 user.presence.activities
Posted
技术标签:
【中文标题】无法访问 discord.js 中的 user.presence.activities【英文标题】:Cannot access to user.presence.activities in discord.js 【发布时间】:2021-04-27 05:49:55 【问题描述】:我正在编写一个 discord.js 机器人,我正在尝试获取用户的活动(他正在玩的游戏、发现事物等)。
当我查看文档时,我看到了一个 Presence
类和一个 .activities
属性,它应该返回用户活动的数组。
但是,我在运行代码时收到“无法发送空消息”,活动正在运行。
这是我的实际代码:
let member = message.users.mention.first || message.author;
message.channel.send(member.presence.activities);
【问题讨论】:
你有没有试过console.log(member.presence.activities)
看看会员是否真的有活动?
是的。它返回一个空数组,即使我有一个活动显示在不和谐...
这看起来像是特权意图的问题。看看this对你有没有帮助
【参考方案1】:
很可能是用户没有活动,所以member.presence.activities
返回null,从而导致empty message
错误。
要抓住这一点,很简单:
let member = message.users.mention.first || message.author;
let memberActivies = member.presence.activities;
if (!memberActivities) return message.channel.send(':x: User has no activity set');
message.channel.send(memberActivities); //sends the activities
另外,如果activities
参数是一个数组,您肯定必须使用普通语法arr[0]
从数组中进行选择吗?
【讨论】:
我已经尝试过 console.log(memberActivities),但它没有返回“用户没有活动集”,它仍然给出“无法发送空消息”。我真的不知道怎么了。以上是关于无法访问 discord.js 中的 user.presence.activities的主要内容,如果未能解决你的问题,请参考以下文章
Discord Bot - 无法从 Intents 访问 FLAGS
Discord.js(节点)中的错误请求并且无法找出导致它的原因
无法读取未定义 discord.js 的属性“名称”尝试读取 json 中的数组
TypeError:无法读取发送的属性(Discord.js)