26 lines
		
	
	
		
			No EOL
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			No EOL
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local api_key = ""
 | |
| 
 | |
| function getTimeFromCity(zone, cb)
 | |
|     if not api_key or string.len(api_key) < 5 then
 | |
|         print("^3[WARNING] Please add your API Key in server/editable/_api.lua, make sure to read the docs first.^7")
 | |
|         print("^3[WARNING] Please add your API Key in server/editable/_api.lua, make sure to read the docs first.^7")
 | |
|         print("^3[WARNING] Please add your API Key in server/editable/_api.lua, make sure to read the docs first.^7")
 | |
|         cb(nil,nil,nil)
 | |
|     end
 | |
|     local apiUrl = "https://api.ipgeolocation.io/timezone?apiKey="..api_key.."&tz=" .. zone 
 | |
|     dbug("getTimeFromCity()...", zone)
 | |
|     PerformHttpRequest(apiUrl, function(statusCode, responseText, headers)
 | |
|         if statusCode == 200 then
 | |
|             local responseData = json.decode(responseText)
 | |
|             if responseData and responseData.time_24 then
 | |
|                 local datetime = responseData.time_24
 | |
|                 local hour, minutes, seconds = string.match(datetime, "(%d%d):(%d%d):(%d%d)")
 | |
|                 cb(hour, minutes, seconds)
 | |
|             else
 | |
|                 cb(nil, nil, nil, "Error: No date/time info received")
 | |
|             end
 | |
|         else
 | |
|             cb(nil, nil, nil, "Error: Request Error Code: " .. statusCode)
 | |
|         end
 | |
|     end, "GET", "", {})
 | |
| end | 
