97 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| if not Config.Logs.Status or Config.Logs.Logger ~= 'discord' then return end
 | |
| 
 | |
| local botSettings = {
 | |
|     name = 'UM-Multicharacter',
 | |
|     image = 'https://files.fivemerr.com/images/d0e1f0c6-7cc5-4fb5-ad91-074d8d165cb7.png'
 | |
| }
 | |
| 
 | |
| local webhooks = {
 | |
|     ['playgame'] = 'https://discord.com/api/webhooks/1370367384233181224/H2_xXOqTKsUyRhdtki4ImDZZ_djgXTjsc0h39McXkRUdz3dK_2SiyLfzvp0ag-CSiwVP',
 | |
|     ['logout'] = 'https://discord.com/api/webhooks/1366649258824175737/hgcXeRb8UFYJXeMlRnDqmUPpV4XajPtgDaMEefvFg8ADY3sNOO0JbNvImwxEw-qESAIA',
 | |
|     ['exploit'] = 'https://discord.com/api/webhooks/1370367980801757234/0PO5tO3wzwCLf8lHCohsQnEHJ5nQamRTl_cAVmcw6IuJi7Y2GnphCEorN1x-xtG0jvPo',
 | |
|     ['createcharacter'] = 'https://discord.com/api/webhooks/1370367980801757234/0PO5tO3wzwCLf8lHCohsQnEHJ5nQamRTl_cAVmcw6IuJi7Y2GnphCEorN1x-xtG0jvPo',
 | |
|     ['deletecharacter'] = 'https://discord.com/api/webhooks/1370367980801757234/0PO5tO3wzwCLf8lHCohsQnEHJ5nQamRTl_cAVmcw6IuJi7Y2GnphCEorN1x-xtG0jvPo',
 | |
| }
 | |
| 
 | |
| local colors = {
 | |
|     ['blue'] = 255,
 | |
|     ['red'] = 16711680,
 | |
|     ['green'] = 65280,
 | |
|     ['white'] = 16777215,
 | |
|     ['black'] = 0,
 | |
|     ['orange'] = 16744192,
 | |
|     ['yellow'] = 16776960,
 | |
|     ['pink'] = 16761035,
 | |
|     ['lightgreen'] = 65309,
 | |
| }
 | |
| 
 | |
| ---@param src string
 | |
| ---@param idType string
 | |
| ---@return string
 | |
| local function getIdentifier(src, idType)
 | |
|     local identifier = GetPlayerIdentifierByType(src, idType) or 'unknown'
 | |
|     return identifier:gsub(idType .. ':', '') or identifier
 | |
| end
 | |
| 
 | |
| ---@param src string
 | |
| ---@return string
 | |
| local function userInformation(src)
 | |
|     local information = string.format(
 | |
|         "### 👤 User Information\n**[id]: **%s\n**[name]: **%s\n**[discord]: **%s\n**[steam]: **%s\n**[license]: **%s\n**[license2]: **%s\n",
 | |
|         tostring(src),
 | |
|         GetPlayerName(src),
 | |
|         getIdentifier(src, 'discord'),
 | |
|         getIdentifier(src, 'steam'),
 | |
|         getIdentifier(src, 'license'),
 | |
|         getIdentifier(src, 'license2')
 | |
|     )
 | |
|     return information
 | |
| end
 | |
| 
 | |
| ---@param data table
 | |
| ---@async
 | |
| local function sendWebHook(data)
 | |
|     local timestamp = os.date("%c")
 | |
| 
 | |
|     local message = {
 | |
|         {
 | |
|             ["color"] = data.color,
 | |
|             ["title"] = data.title,
 | |
|             ["description"] = data.message,
 | |
|             ["footer"] = {
 | |
|                 ["text"] = timestamp .. ' | version 4.1.7-next',
 | |
|                 ["icon_url"] = botSettings.image,
 | |
|             },
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     local jsonData = json.encode({
 | |
|         username = botSettings.name,
 | |
|         avatar_url = botSettings.image,
 | |
|         embeds = message
 | |
|     })
 | |
| 
 | |
|     SetTimeout(1000, function()
 | |
|         PerformHttpRequest(data.link, function(_, _, _)
 | |
|         end, 'POST', jsonData, { ['Content-Type'] = 'application/json' })
 | |
|     end)
 | |
| end
 | |
| 
 | |
| ---@param src string
 | |
| ---@param type string
 | |
| ---@param message string
 | |
| ---@param color? string
 | |
| ---@param webhook? string
 | |
| function DiscordWebHook(src, type, message, color, webhook)
 | |
|     local webhookLink = webhooks[webhook]
 | |
|     if not webhookLink or webhookLink == '' then return end
 | |
| 
 | |
|     local data = {
 | |
|         link = webhookLink,
 | |
|         title = '📌 [' .. type .. ']',
 | |
|         color = colors[color] or colors['blue'],
 | |
|         message = userInformation(src) .. '### 💬 Message \n ### ' .. message .. ' \n'
 | |
|     }
 | |
| 
 | |
|     sendWebHook(data)
 | |
| end
 | 
