Module:PriceServer

From The Blockheads Wiki
Revision as of 13:02, 29 October 2024 by FloofyPlasma (talk | contribs)

Documentation for this module may be created at Module:PriceServer/doc

local PriceServer = {}

local function fetchPrices()
	local apiUrl = "http://priceserver.theblockheads.net/get_prices.php"
	local response, code = http.get(apiUrl)
	
	if code ~= 200 then
		return nil, "Error retrieving prices " .. tostring(code)
	end
	
	-- Parse the response
	local json = require('json')
	return json.decode(response)
end

function PriceServer.getPrice(id)
    local pricesData, err = fetchPrices()

    if err then
        return err
    end

    if pricesData then
        for _, item in ipairs(pricesData) do
            if item.id == id then
                return string.format("%.2f", tonumber(item.price)) -- Round to two decimal places
            end
        end
    end

    return "Item not found."
end

function PriceServer.getPriceGraphImage(id)
    return string.format('<img src="http://priceserver.theblockheads.net/get_price_graph_data.php?item_id=%s" alt="Price graph for item %s" />', id, id)
end

return PriceServer