-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.lua
77 lines (70 loc) · 3.49 KB
/
server.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
if Config.UseESX then
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
end
function SendLog(name, title, color, message, tagEveryone)
local tag = tagEveryone or false
local webHook = Config.Webhooks[name] or Config.Webhooks.default
local embedData = {
{
['title'] = title,
['color'] = Config.Colors[color] or Config.Colors.default,
['footer'] = {
['text'] = Config.ServerName.. " | SZI Logs | ".. os.date(),
['icon_url'] = Config.ServerLogo,
},
['description'] = message,
['author'] = {
['name'] = name .. ' | Logs',
['icon_url'] = 'https://i.imgur.com/tPccWVv.png',
},
}
}
PerformHttpRequest(webHook, function(err, text, headers) end, 'POST', json.encode({ username = 'Logs', embeds = embedData}), { ['Content-Type'] = 'application/json' })
Citizen.Wait(100)
if tag then
PerformHttpRequest(webHook, function(err, text, headers) end, 'POST', json.encode({ username = 'Logs', content = '|| @everyone @here ||'}), { ['Content-Type'] = 'application/json' })
end
end
------- Args -------
-- args[1] = Weebhook
-- args[2] = Color
---------------------
RegisterCommand("embed", function(source, args, rawCommand)
SendLog(args[1], 'Test Webhook', args[2], 'Webhook setup successfully',false)
end, false)
if Config.DefaultEvents then
if Config.DefaultEvents.chat then
AddEventHandler('chatMessage', function(playerId, playerName, message)
if Config.UseESX then
local xPlayer = ESX.GetPlayerFromId(playerId)
SendLog("Chat", "New Message", "green", "**ID**:```diff\n+ ".. playerId .. "```\n**OOC Name**:```diff\n+".. GetPlayerName(playerId) .. "```\n**In-Game Name**:```diff\n+".. xPlayer.getName() .. "```\n**Message**:```diff\n- ".. message .. "```")
else
SendLog("Chat", "New Message", "green", "**ID**:```diffr\n+ ".. playerId .. "```\n**Name**:```diff\n+"..playerName .. "```\n**Message**:```diff- ".. message .. "```")
end
end)
end
if Config.DefaultEvents.playerDropped then
AddEventHandler('playerDropped', function (reason)
if Config.UseESX then
local xPlayer = ESX.GetPlayerFromId(source)
SendLog("UserActions", "User Dropped", "red", "**ID**:```diff\n+ ".. source .. "```\n**OOC Name**:```diff\n+".. GetPlayerName(source) .. "```\n**In-Game Name**:```diff\n+".. xPlayer.getName() .. "```\n**Reason**:```diff\n- ".. reason .. "```")
else
SendLog("UserActions", "User Dropped", "red", "**ID**:```".. source .. "```\n**Name**:```".. GetPlayerName(source) .. "```\n**Reason**:```".. reason .. "```")
end
end)
end
if Config.DefaultEvents.playerJoining then
AddEventHandler('playerJoining', function ()
SendLog("UserActions", "User Joined", "green", "**ID**:```diff\n+ ".. source .. "```\n**Name**:```diff\n+ ".. GetPlayerName(source) .."```")
end)
end
if Config.DefaultEvents.playerJoining then
AddEventHandler('onResourceStart', function (resource)
SendLog("Resources", "Resource Started", "white", "**Name**:```diff\n+ ".. resource .."```")
end)
AddEventHandler('onResourceStop', function (resource)
SendLog("Resources", "Resource Stopped", "white", "**Name**:```diff\n- ".. resource .."```")
end)
end
end