70 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| --
 | |
| -- Discord Webhooks
 | |
| --
 | |
| Webhooks = {}
 | |
| Webhooks.VehicleTakeOutAndInsert = ""
 | |
| Webhooks.VehiclePlayerTransfer = ""
 | |
| Webhooks.VehicleGarageTransfer = ""
 | |
| Webhooks.Impound = ""
 | |
| Webhooks.PrivateGarages = ""
 | |
| 
 | |
| --[[
 | |
|   EXAMPLE WEBHOOK CALL
 | |
| 
 | |
|   sendWebhook(src, Webhooks.VehicleTakeOutAndInsert, "Webhook Title", "success", {
 | |
|     { key = "Data fields", value = "Data value" },
 | |
|     { key = "Data fields 2", value = "Data value 2" }
 | |
|   })
 | |
| ]]--
 | |
| 
 | |
| function sendWebhook(playerId, webhookUrl, title, type, data)
 | |
|   if not webhookUrl then return end
 | |
| 
 | |
|   local identifier = Framework.Server.GetPlayerIdentifier(playerId)
 | |
|   if not identifier then return false end
 | |
|   
 | |
|   local color = 0xff6700
 | |
|   if type == "success" then color = 0x2ecc71 end
 | |
|   if type == "danger" then color = 0xe74c3c end
 | |
|   
 | |
|   local player = Framework.Server.GetPlayerInfo(playerId)
 | |
|   if not player then return false end
 | |
|   
 | |
|   local fields = {
 | |
|     {
 | |
|       name = "Player",
 | |
|       value = string.format("%s (%s)", player.name, identifier),
 | |
|       inline = false
 | |
|     }
 | |
|   }
 | |
|   for _, row in pairs(data) do
 | |
|     fields[#fields + 1] = {
 | |
|       name = row.key,
 | |
|       value = tostring(row.value),
 | |
|       inline = true
 | |
|     }
 | |
|   end
 | |
| 
 | |
|   local body = {
 | |
|     username = "JG Advanced Garages Webhook",
 | |
|     avatar_url = "https://forum.cfx.re/user_avatar/forum.cfx.re/jgscripts/288/3621910_2.png",
 | |
|     content = "",
 | |
|     embeds = {
 | |
|       {
 | |
|         type = "rich",
 | |
|         title = title,
 | |
|         description = "",
 | |
|         color = color,
 | |
|         fields = fields
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   PerformHttpRequest(
 | |
|     webhookUrl,
 | |
|     function(err, text, header) end,
 | |
|     "POST",
 | |
|     json.encode(body),
 | |
|     {["Content-Type"] = "application/json"}
 | |
|   )
 | |
| end | 
