首页 > 解决方案 > 如果 API 结果发生变化,打印更新的信息

问题描述

我正在尝试在 JS 中构建一个简单的 Discord 机器人。机器人背后的逻辑是它调用 Udemy API 并抓取学生的问题。学生问题返回总计数。我希望我的 Discord 机器人在问题计数发生变化时打印出一条消息进行聊天。到目前为止,这是我的代码:

let checkUdemy = async () => {
    let getUdemy = async () => {
        let token = "xxxxxxxx";
        let response = await axios.get(
            "https://udemy.com/instructor-api/v1/taught-courses/questions/?page_size=1", {
                headers: {
                    'Accept': 'application/json, text/plain, */*',
                    'Authorization': 'Bearer ' + token,
                    'Content-Type': 'application/json;charset=utf-8'
                }
            }
        );
        let qa = response.data;
        return qa;
    };
    let qaValue = await getUdemy()
    let count = qaValue.count;
};

checkUdemy();
var timerID = setInterval(checkUdemy, 60000);

目前,机器人每分钟检查一次 API。我可以将 count 的值存储在函数内部,但显然目前这对我没有好处。基本上,我希望将 count 的值存储为变量,如果它发生变化,那么机器人将打印 qaValue.message。我坚持这里的逻辑。

感谢您的帮助!

标签: javascriptdiscord

解决方案


我可能完全误解了这个问题,但我认为您正在寻找的是将函数外部的计数存储为全局变量。每次收到新计数时,都可以根据新计数进行检查,并将全局变量设置为新计数。随意澄清,因为我对问题似乎有点困惑。


推荐阅读