Script TG-DiscordLog V2 [ESX, QBCORE, QBOX, ESCROW]

1 Followed
283 Follower

Adrian_chupi

Admin

Aug 13, 2023

3,085 Mesaj

8,186 Reaction

0 Solution

113

First Message

100 Messages

500 Message

1K Message

No reward!

Joined
Aug 13, 2023
Messages
3,085
Reaction score
8,186
Points
113
Location
SPAIN
Credits
1,727

TG-Discord Log v2 is advance log system to know all activity on server.(this system is work using discord application or discord bot, it will not give any ban to the bot, if you need log in discord can use this)

It Contain multiple logs like Join, leave, relog, dead, damage, shoot, inventory, resource, explotion, txadmin, framework log

PREVIEW AND DETAILS

Join Log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
Leave Log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
  • Disconnect Reason
Relog Log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
Dead-Log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
  • weapon
  • Category
  • Killer detail if killed by any other player
Damage-Log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
  • Type of damage
  • Attacker details
Inventory-Log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
  • Type of damage
  • Attacker details
    (this all are in ox invenntry but Qb-invenntry has less detail)
Shooting-log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
  • Weapon name
  • bullet shooted
Resource-log

  • Resource name
  • function is it started or stopped
Explotion-log

  • Character Name
  • Character Health
  • Character Armour
  • Character Postal
  • Player License
  • Player License2
  • Player IP
  • Player LiveId
  • Player Fivem ID
  • Player Steam Id
  • Player Discord
  • type of Explotion
Tx-Admin-Log

  • All type of txadmin triggers work
Dependency

  • ox_lib
  • ESX or QBCore or Qbox
  • Ox_inventory or Qb-inventory
Also has some commands

  • !createlog (true/false) (channel mention)
  • !skin (Player Id)
  • !additem (Player Id) (Item name) (item count)
  • !announcement (Content to send)
  • !memberbydiscord (discord Id)
  • !memberbyid (Player Id)
  • !kick (Player Id) (Reason)
  • !kickall [ can kick all players in server]
  • !kill (Player Id)
  • !gamedm (Player Id) (Content)
  • !players [Player list will return]
  • !ban (Player Id) (type like week or day or month) (time like number) (reason)
  • !removeitem (Player Id) (item name) (count of item)
  • !setjob (player id) (job name) (Job grade)
  • !getjobs [Job list will return]
  • !relog (Player Id)
  • !addmoney (Player id) (account like bank or cash) (amount)
  • !revive (Player Id)
  • !reviveall [All Player in server will revive]
  • !resoourcelist [resource list will return]
LINK :

Core Log Setup-ESX


  • (es_extended/server/functions) at line 397 and 436 line will replace with code below (Function : ESX.DiscordLog And ESX.DiscordLogFields)

function ESX.DiscordLog(name, title, color, message)
TriggerEvent('tg-discord:server:corelog', name, title, color, nil, message)
local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default
local embedData = {
{
["title"] = title,
["color"] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default,
["footer"] = {
["text"] = "| ESX Logs | " .. os.date(),
["icon_url"] = " ",
},
["description"] = message,
["author"] = {
["name"] = "ESX Framework",
["icon_url"] = " ",
},
},
}
PerformHttpRequest(
webHook,
function ()
return
end,
"POST",
json.encode({
username = "Logs",
embeds = embedData,
}),
{
["Content-Type"] = "application/json",
}
)
end


function ESX.DiscordLogFields(name, title, color, fields)
TriggerEvent('tg-discord:server:corelog', name, title, color, fields, nil)
local webHook = Config.DiscordLogs.Webhooks[name] or Config.DiscordLogs.Webhooks.default
local embedData = {
{
["title"] = title,
["color"] = Config.DiscordLogs.Colors[color] or Config.DiscordLogs.Colors.default,
["footer"] = {
["text"] = "| ESX Logs | " .. os.date(),
["icon_url"] = " ",
},
["fields"] = fields,
["description"] = "",
["author"] = {
["name"] = "ESX Framework",
["icon_url"] = " ",
},
},
}
PerformHttpRequest(
webHook,
function ()
return
end,
"POST",
json.encode({
username = "Logs",
embeds = embedData,
}),
{
["Content-Type"] = "application/json",
}
)
end

Core Log Setup-QBCORE [Same For QB-Inventory]

  • (qb-smallresources/server/logs) at line 59 replace with below code (at Event : qb-log:server:CreateLog)

RegisterNetEvent('qb-log:server:CreateLog', function(name, title, color, message, tagEveryone, imageUrl)
TriggerEvent('tg-discord:server:qbcorelog', name, title, colors[color] or colors['default'], message)
local tag = tagEveryone or false

if Config.Logging == 'discord' then
if not Webhooks[name] then
print('Tried to call a log that isn\'t configured with the name of ' .. name)
return
end
local webHook = Webhooks[name] ~= '' and Webhooks[name] or Webhooks['default']
local embedData = {
{
['title'] = title,
['color'] = colors[color] or colors['default'],
['footer'] = {
['text'] = os.date('%c'),
},
['description'] = message,
['author'] = {
['name'] = 'QBCore Logs',
['icon_url'] = ' ',
},
['image'] = imageUrl and imageUrl ~= '' and { ['url'] = imageUrl } or nil,
}
}

if not logQueue[name] then logQueue[name] = {} end
logQueue[name][#logQueue[name] + 1] = { webhook = webHook, data = embedData }

if #logQueue[name] >= 10 then
local postData = { username = 'QB Logs', embeds = {} }

if tag then
postData.content = '@everyone'
end

for i = 1, #logQueue[name] do postData.embeds[#postData.embeds + 1] = logQueue[name].data[1] end
PerformHttpRequest(logQueue[name][1].webhook, function() end, 'POST', json.encode(postData), { ['Content-Type'] = 'application/json' })
logQueue[name] = {}
end
elseif Config.Logging == 'fivemanage' then
local FiveManageAPIKey = GetConvar('FIVEMANAGE_LOGS_API_KEY', 'false')
if FiveManageAPIKey == 'false' then
print('You need to set the FiveManage API key in your server.cfg')
return
end
local extraData = {
level = tagEveryone and 'warn' or 'info', -- info, warn, error or debug
message = title, -- any string
metadata = { -- a table or object with any properties you want
description = message,
playerId = source,
playerLicense = GetPlayerIdentifierByType(source, 'license'),
playerDiscord = GetPlayerIdentifierByType(source, 'discord')
},
resource = GetInvokingResource(),
}
PerformHttpRequest(' ', function(statusCode, response, headers)
-- Uncomment the following line to enable debugging
-- print(statusCode, response, json.encode(headers))
end, 'POST', json.encode(extraData), {
['Authorization'] = FiveManageAPIKey,
['Content-Type'] = 'application/json',
})
end
end)

Core Log Setup-QBOX



  • (qbx_core/modules/logger) at line 145 replace with below code (function : createLog)

local function createLog(log)
TriggerEvent('tg-discord:server:qbxlog', log)
if log.webhook then
---@diagnostic disable-next-line: param-type-mismatch
discordLog(log)
end
lib.logger(log.source, log.event, log.message, log.oxLibTags) -- support for ox_lib: datadog, grafana loki logging, fivemanage
end

Inventory-log for ox_inventory



  • (ox_lib/imports/logger/server) at last before return lib.logger Add code given below

function lib.logger(source, event, message, ...)
TriggerEvent('tg-discord:server:Inventory',source, event, message, ...)
end

PREVIEW





























 

Topics

5,143

Messages

8,730

Members

50,022

Latest member

beetoo

Top