我正在研究 Roblox 的 HTTP 请求系统和 YouTube 的 API,并且制作了一个可以显示当前订阅者数量的工作系统。但我尝试了很长时间也没能做出一个在控制台显示订阅者差异的系统。
有什么方法可以在我的代码中实现这个吗?
local HttpService = game:GetService("HttpService")
local API_KEY = "SECRET" -- Replace with your API key
local CHANNEL_ID = "UCA4yZCVHlHZVknfesTU3XOg" -- Replace with your channel 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,
}
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)
local subscriberCount = data.items[1].statistics.subscriberCount
--script.Parent.Text = "Inscritos: " .. subscriberCount
script.Parent.Text = subscriberCount
script.Parent.Font = fonts[math.random(1, #fonts)]
end)
if not success then
warn("Error fetching channel data:", result)
--script.Parent.Text = "Erro ao carregar dados."
end
end
-- Call the function initially and every 10 seconds
getChannelStats()
while true do
wait(2)
getChannelStats()
end
我尝试自己做,使用 Roblox 的人工智能,测试一些东西/代码片段,但没有任何效果。我们的期望是使用
print()
在 Roblox 控制台中显示订阅者的差异
我来这里是为了解决这个问题。以下是已修复的错误:
关闭函数:getChannelStats函数需要用end语句关闭。这很重要!
连接函数:确保您实际上在脚本中的某个位置调用 getChannelStats 函数来执行请求!
这是固定脚本:
local HttpService = game:GetService("HttpService")
local API_KEY = "SECRET" -- Replace with your API key
local CHANNEL_ID = "UCA4yZCVHlHZVknfesTU3XOg" -- Replace with your channel 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,
}
local function getChannelStats()
while true do
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)
if data.items and #data.items > 0 and data.items[1].statistics then
local subscriberCount = data.items[1].statistics.subscriberCount
print("Subscriber Count: " .. subscriberCount)
end
end)
task.wait(1) -- Updates every second!
end
end
getChannelStats()
希望这有帮助!