You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Roblox中实现YouTube订阅数差值的控制台显示?

实现订阅数差值打印功能

要实现订阅数差值的控制台输出,核心是记录每次获取的订阅数并与上一次的值做对比。以下是修改后的完整代码:

local HttpService = game:GetService("HttpService")

local API_KEY = "SECRET" -- 替换为你的API密钥
local CHANNEL_ID = "UCA4yZCVHlHZVknfesTU3XOg" -- 替换为你的频道ID

local fonts = {
        Enum.Font.Arcade,
        Enum.Font.Arial,
        Enum.Font.ArialBold,
        Enum.Font.Bangers,
        Enum.Font.Bodoni,
        Enum.Font.Cartoon,
        Enum.Font.Code,
        Enum.Font.Creepster,
        Enum.Font.DenkOne,
        Enum.Font.Fantasy,
        Enum.Font.Fondamento,
        Enum.Font.FredokaOne,
        Enum.Font.Garamond,
        Enum.Font.Gotham,
        Enum.Font.GothamBlack,
    }

-- 全局变量保存上一次的订阅数,初始为nil
local lastSubscriberCount = nil

local function getChannelStats()
    print("SENDING REQUEST")
    local success, result = pcall(function()
        local url = string.format("https://www.googleapis.com/youtube/v3/channels?part=statistics&id=%s&key=%s", CHANNEL_ID, API_KEY)
        local response = HttpService:GetAsync(url)
        local data = HttpService:JSONDecode(response)

        -- 将API返回的字符串订阅数转为数字
        local currentSubscriberCount = tonumber(data.items[1].statistics.subscriberCount)
        script.Parent.Text = tostring(currentSubscriberCount)
        
        script.Parent.Font = fonts[math.random(1, #fonts)]
        
        -- 计算并打印差值
        if lastSubscriberCount ~= nil then
            local difference = currentSubscriberCount - lastSubscriberCount
            print(string.format("订阅数差值: %d", difference))
        end
        
        -- 更新上一次的订阅数为当前值
        lastSubscriberCount = currentSubscriberCount
        
    end)

    if not success then
        warn("获取频道数据出错:", result)
        --script.Parent.Text = "加载数据失败。"
    end
end

-- 初始调用并每2秒刷新一次
getChannelStats()
while true do
    wait(2)
    getChannelStats()
end

关键修改点说明:

  • 添加全局变量lastSubscriberCount用于存储上一次获取的订阅数,初始值为nil,避免第一次运行时出现无效差值。
  • 将API返回的subscriberCount(字符串类型)通过tonumber()转为数字,确保差值计算的正确性。
  • 在获取当前订阅数后,判断lastSubscriberCount是否已初始化,若已初始化则计算差值并通过print()输出到控制台。
  • 每次成功获取数据后,更新lastSubscriberCount为当前值,为下一次对比做准备。

内容的提问来源于stack exchange,提问作者PatoFlamejanteTV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 22:34:51