@@ -170,38 +170,35 @@ local placeHolders = {
170170 end ,
171171}
172172
173- function Adjustments :PresencePlaceholders ()
174- local presence = Config .DiscordActivity .presence
175-
173+ function Adjustments :ReplacePlaceholders (text )
176174 for placeholder , cb in pairs (placeHolders ) do
177175 local success , result = pcall (cb )
178176
179177 if not success then
180- error ((" Failed to execute presence placeholder: ^5%s^7" ):format (placeholder ))
181- error (result )
182- return " Unknown"
178+ error ((" Failed to execute placeholder: ^5%s^7\n %s" ):format (placeholder , result ))
179+ result = " Unknown"
183180 end
184181
185- presence = presence :gsub ((" {%s}" ):format (placeholder ), result )
182+ text = text :gsub ((" {%s}" ):format (placeholder ), tostring ( result ) )
186183 end
187-
188- return presence
184+ return text
189185end
190186
191187function Adjustments :DiscordPresence ()
192188 if Config .DiscordActivity .appId ~= 0 then
193189 CreateThread (function ()
194190 while true do
195191 SetDiscordAppId (Config .DiscordActivity .appId )
192+ SetRichPresence (self :ReplacePlaceholders (Config .DiscordActivity .presence ))
196193 SetDiscordRichPresenceAsset (Config .DiscordActivity .assetName )
197- SetDiscordRichPresenceAssetText (Config .DiscordActivity .assetText )
194+ SetDiscordRichPresenceAssetText (self : ReplacePlaceholders ( Config .DiscordActivity .assetText ) )
198195
199196 for i = 1 , # Config .DiscordActivity .buttons do
200197 local button = Config .DiscordActivity .buttons [i ]
201- SetDiscordRichPresenceAction (i - 1 , button .label , button .url )
198+ local buttonUrl = self :ReplacePlaceholders (button .url )
199+ SetDiscordRichPresenceAction (i - 1 , button .label , buttonUrl )
202200 end
203201
204- SetRichPresence (self :PresencePlaceholders ())
205202 Wait (Config .DiscordActivity .refresh )
206203 end
207204 end )
0 commit comments