Javascript discord.js v12检查用户是否开始流媒体

Javascript discord.js v12检查用户是否开始流媒体,javascript,discord,discord.js,Javascript,Discord,Discord.js,在崩溃之前,它一直按预期工作。每次用户开始流媒体时,它都会发布他们的流链接。 问题是,大约5分钟后,机器人崩溃,我得到下面的错误 let oldStreamingStatus = oldMember.activities.find(activity => activity.type === 'STREAMING') ? true : false; ^ TypeError: Cannot read property '

在崩溃之前,它一直按预期工作。每次用户开始流媒体时,它都会发布他们的流链接。 问题是,大约5分钟后,机器人崩溃,我得到下面的错误

let oldStreamingStatus = oldMember.activities.find(activity =>  activity.type  === 'STREAMING') ? true : false;
                                   ^
TypeError: Cannot read property 'activities' of undefined
下面是我的代码

client.on('presenceUpdate', (oldMember, newMember) => {

let oldStreamingStatus = oldMember.activities.find(activity => activity.type === 'STREAMING') ? true : false;
let newStreamingStatus = newMember.activities.find(activity => activity.type === 'STREAMING') ? true : false;

if (oldStreamingStatus == newStreamingStatus) {
    return;
}

if (newStreamingStatus) {
    if (newMember.member.roles.cache.some(r => ["Raider","Trial"].includes(r.name))) {
        const activity = newMember.activities.find(activity => activity.type === 'STREAMING')
        // console.log(newMember.activities)
        client.channels.cache.get("731911793257087006").send(`Hey! ${activity.url} is streaming!`);
        return;
    } else
        return;
    }});
我试过下面的代码。但是如果有人改变了他们的活动或者他们正在播放流媒体,然后开始收听Spotify,它会发布另一条消息

  client.on("presenceUpdate", (oldPresence, newPresence) => {

  if (!newPresence.activities) return false;

  newPresence.activities.forEach(activity => {
    if (activity.type == "STREAMING") {
        console.log(`${newPresence.user.tag} is streaming at ${activity.url}.`);
       };
        });
   });

似乎我需要10个声誉来以正确的方式发布图片。对此我深表歉意。

如果我们遵循discord.js文档,我们可以看到“oldMember”是可选的:

异常信息显示:

无法读取未定义的属性“活动”

添加附加检查:

client.on('presenceUpdate', (oldMember, newMember) => {
    if(!oldMember){
        //skip actions or get streaming status based only on newMember activities...
    }

在代码的其余部分之前。

欢迎使用StackOverflow!请你把问题中的代码换成图片好吗?我为它的外观道歉。我真的希望有人能帮助我。