73 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
		
		
			
		
	
	
			73 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
|   | local webhook = "" -- Add your Discord webhook here | ||
|  | 
 | ||
|  | function sendLogs(src,data,type) | ||
|  |     if webhook == "" then return end -- <-- DON'T ADD ANYTHING HERE PLEASE AND THANK U... | ||
|  |     local name = GetPlayerName(src) | ||
|  |     local discord_user = GetPlayerIdentifierByType(src, 'discord') | ||
|  |     discord_user = getDiscord(discord_user) | ||
|  |     local title = "Zone(s) Updated" | ||
|  |     local description = false | ||
|  |     if type == "zones" then | ||
|  |         local zones = capitalizeZones(data.zones) | ||
|  |         description = { | ||
|  |             "**User:** "..name..(discord_user and " <@"..discord_user..">" or ""), | ||
|  |             "**Zone(s):** "..zones, | ||
|  |             "**Weather:** "..(data.weather or ""), | ||
|  |             "**Freeze:** "..(data.freeze and data.freeze == "yes" and "Yes" or "No"), | ||
|  |             "**Temperature:** "..(data.temperature or ""), | ||
|  |             "**Fog: **"..(data.fog or ""), | ||
|  |             "**Wind: **"..(data.wind or "") | ||
|  |         } | ||
|  |     elseif type == "server" then | ||
|  |         title = "Server Time Updated" | ||
|  |         description = { | ||
|  |             "**User:** "..name..(discord_user and " <@"..discord_user..">" or ""), | ||
|  |             "**Time: **"..(data.hour or serverTime.hour)..":"..(data.minutes or serverTime.minutes), | ||
|  |             "**Freeze:** "..(data.freezeTime and "Yes" or "No"), | ||
|  |             "**Moon:** "..(data.moon and moonTypes[tostring(data.moon)] or ""), | ||
|  |         } | ||
|  |     elseif type == "random" then | ||
|  |         title = "Random Weather" | ||
|  |         local zones = capitalizeZones(data.zones) | ||
|  |         description = { | ||
|  |             "**User:** "..name..(discord_user and " <@"..discord_user..">" or ""), | ||
|  |             "**Zone(s):** "..zones, | ||
|  |         } | ||
|  |     elseif type == "blackout" then | ||
|  |         title = "Toggle Blackout" | ||
|  |         local state = data and "Enabled" or "Disabled" | ||
|  |         description = { | ||
|  |             "**User:** "..name..(discord_user and " <@"..discord_user..">" or ""), | ||
|  |             "**State:** "..state, | ||
|  |         } | ||
|  |     end | ||
|  |     if description then | ||
|  |         local message = { | ||
|  |             { | ||
|  |                 ['title'] = title, | ||
|  |                 ['description'] = table.concat(description, "\n"), | ||
|  |                 ['color'] = "5793266", | ||
|  |                 ['footer'] = { | ||
|  |                     ['text'] = os.date('%c'), | ||
|  |                 }, | ||
|  |             }  | ||
|  |         } | ||
|  |         PerformHttpRequest(webhook, function() end, 'POST', json.encode({ username = 'AV Scripts', embeds = message }), { ['Content-Type'] = 'application/json' }) | ||
|  |     end | ||
|  | end | ||
|  | 
 | ||
|  | function getDiscord(input) | ||
|  |     if not input or input == "" then | ||
|  |       return false | ||
|  |     end | ||
|  |     local result = input:gsub("^discord:", "") | ||
|  |     return result | ||
|  | end | ||
|  | 
 | ||
|  | function capitalizeZones(zones) | ||
|  |     local capitalizedZones = {} | ||
|  |     for _, zone in ipairs(zones) do | ||
|  |         table.insert(capitalizedZones, zone:sub(1, 1):upper() .. zone:sub(2):lower()) | ||
|  |     end | ||
|  |     return table.concat(capitalizedZones, ", ") | ||
|  | end |