此操作按预期进行,直到崩溃。用户每次开始流式传输时,都会发布其流链接。 问题是,大约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名信誉才能以正确的方式发布图片。我对此表示歉意。