首页 > 解决方案 > 有没有办法检查用户是否正在流式传输并显示它?

问题描述

我试图制作一个机器人来检查某个用户是否正在流式传输,但由于某种原因,它并没有比检查 3 更进一步。

client.on("presenceUpdate", (oldPresence, newPresence) => {
    if(newPresence.user.id === config.LORD_ID) {
        console.log("Check 2 passed")
    if(newPresence.guild.id === config.STRATZ_SERVER_ID) {
        console.log("Check 3 passed")
    if (!newPresence.activities) return false;
    newPresence.activities.forEach(activity => {
        if (activity.type == "STREAMING") {
            console.log("Check 4 passed")
            if (canNotifyStreaming) {
                console.log("Check 5 passed")
                if(activity.url.startsWith("www.youtube.com")) {
                    console.log("Final check passed")
                    itsYOUTUBESTREAMTIME();
                    canNotifyStreaming = false;
                    setTimeout(() => { canNotifyStreaming = true; }, 86400000);
                } else if(activity.url.startsWith("www.twitch.tv")) {
                    console.log("Final check for twitch passed")
                    itsSTREAMTIME();
                    canNotifyStreaming = false;
                    setTimeout(() => { canNotifyStreaming = true; }, 86400000);
                }
            }
        };
    });
   }
 }
});

代码是否有理由拒绝比检查 3 更进一步?

注意:对不起,如果问题很愚蠢,我通常只用 discord.js 和 node.js 编写了 3 个月

标签: javascriptnode.jsdiscord.js

解决方案


if (!newPresence.activities) return false; 这停止代码,尝试:

    if (newPresence.activities) {
        newPresence.activities.forEach(activity => {
        // ...
    }

推荐阅读