mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 01:08:54 +00:00
Merge pull request #1692 from alexistb2904/main
Fix Discord Rich Presence integration
This commit is contained in:
@@ -170,22 +170,18 @@ local placeHolders = {
|
|||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
function Adjustments:PresencePlaceholders()
|
function Adjustments:ReplacePlaceholders(text)
|
||||||
local presence = Config.DiscordActivity.presence
|
|
||||||
|
|
||||||
for placeholder, cb in pairs(placeHolders) do
|
for placeholder, cb in pairs(placeHolders) do
|
||||||
local success, result = pcall(cb)
|
local success, result = pcall(cb)
|
||||||
|
|
||||||
if not success then
|
if not success then
|
||||||
error(("Failed to execute presence placeholder: ^5%s^7"):format(placeholder))
|
error(("Failed to execute placeholder: ^5%s^7\n%s"):format(placeholder, result))
|
||||||
error(result)
|
result = "Unknown"
|
||||||
return "Unknown"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
presence = presence:gsub(("{%s}"):format(placeholder), result)
|
text = text:gsub(("{%s}"):format(placeholder), tostring(result))
|
||||||
end
|
end
|
||||||
|
return text
|
||||||
return presence
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function Adjustments:DiscordPresence()
|
function Adjustments:DiscordPresence()
|
||||||
@@ -193,15 +189,16 @@ function Adjustments:DiscordPresence()
|
|||||||
CreateThread(function()
|
CreateThread(function()
|
||||||
while true do
|
while true do
|
||||||
SetDiscordAppId(Config.DiscordActivity.appId)
|
SetDiscordAppId(Config.DiscordActivity.appId)
|
||||||
|
SetRichPresence(self:ReplacePlaceholders(Config.DiscordActivity.presence))
|
||||||
SetDiscordRichPresenceAsset(Config.DiscordActivity.assetName)
|
SetDiscordRichPresenceAsset(Config.DiscordActivity.assetName)
|
||||||
SetDiscordRichPresenceAssetText(Config.DiscordActivity.assetText)
|
SetDiscordRichPresenceAssetText(self:ReplacePlaceholders(Config.DiscordActivity.assetText))
|
||||||
|
|
||||||
for i = 1, #Config.DiscordActivity.buttons do
|
for i = 1, #Config.DiscordActivity.buttons do
|
||||||
local button = Config.DiscordActivity.buttons[i]
|
local button = Config.DiscordActivity.buttons[i]
|
||||||
SetDiscordRichPresenceAction(i - 1, button.label, button.url)
|
local buttonUrl = self:ReplacePlaceholders(button.url)
|
||||||
|
SetDiscordRichPresenceAction(i - 1, button.label, buttonUrl)
|
||||||
end
|
end
|
||||||
|
|
||||||
SetRichPresence(self:PresencePlaceholders())
|
|
||||||
Wait(Config.DiscordActivity.refresh)
|
Wait(Config.DiscordActivity.refresh)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|||||||
Reference in New Issue
Block a user