javascript - 有没有办法检查用户是否正在流式传输并显示它?
问题描述
我试图制作一个机器人来检查某个用户是否正在流式传输,但由于某种原因,它并没有比检查 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 个月
解决方案
if (!newPresence.activities) return false;
这停止代码,尝试:
if (newPresence.activities) {
newPresence.activities.forEach(activity => {
// ...
}
推荐阅读
- javascript - 如何将 setState 中的数据传递给模态 REACTJS
- python - 通过 groupby 创建一个新的数据框并应用自己的功能
- angularjs - TyperError:无法读取未定义的属性“长度”
- c++ - 如何避免使用 memcpy 创建字符串
- javascript - 打字稿:将对象转换为其他类型
- swift - 我无法在 struct[CGFloat] 处获得 CGFloat
- r - 查找组中事件的频率 dplyr
- flutter - 从小部件列表中删除图像
- python-3.x - 标记尺寸图例
- angular - 角度 8 获取 ActivatedRoute paramMap 包括页面加载时的 queryParams