@@ -12,14 +12,14 @@ require('mp.options').read_options(o, 'discord')
1212function string .uuid ()
1313 math.randomseed (mp .get_time () * 1e4 )
1414 local tpl = ' XXXXXXXX-XXXX-4XXX-%xXXX-XXXXXXXXXXXX'
15- return tpl :format (math.random (8 , 0xb )):gsub (' X' , function (c )
15+ return tpl :format (math.random (8 , 0xb )):gsub (' X' , function (_ )
1616 return (' %x' ):format (math.random (0 , 0xf ))
1717 end )
1818end
1919
2020function string :tohex ()
2121 return self :gsub (' .' , function (c )
22- return (' \\ x%02x' ):format (string. byte (c ))
22+ return (' \\ x%02x' ):format (c : byte ())
2323 end )
2424end
2525
@@ -36,8 +36,8 @@ RPC = {
3636if RPC .unix then
3737 local temp = os.getenv (' XDG_RUNTIME_DIR' )
3838 or os.getenv (' TMPDIR' )
39- or os.getenv (' TEMP' )
4039 or os.getenv (' TMP' )
40+ or os.getenv (' TEMP' )
4141 or ' /tmp'
4242 RPC .path = temp .. ' /discord-ipc-0'
4343else
@@ -72,18 +72,18 @@ function RPC.pack(op, body)
7272end
7373
7474function RPC .unpack (body )
75+ local byte
7576 local op = 0
7677 local len = 0
7778 local iter = 1
78- local byte = nil
7979 assert (body , ' empty body' )
8080 for j = 1 , 4 do
81- byte = string.byte ( body :sub (iter , iter ))
81+ byte = body :sub (iter , iter ): byte ( )
8282 op = op + byte * (2 ^ ((j - 1 ) * 8 ))
8383 iter = iter + 1
8484 end
8585 for j = 1 , 4 do
86- byte = string.byte ( body :sub (iter , iter ))
86+ byte = body :sub (iter , iter ): byte ( )
8787 len = len + byte * (2 ^ ((j - 1 ) * 8 ))
8888 iter = iter + 1
8989 end
@@ -128,7 +128,7 @@ function RPC:recv(len)
128128 msg .error (data )
129129 return nil
130130 end
131- assert (string. len (data ) == len , ' incorrect data length' )
131+ assert (data : len () == len , ' incorrect data length' )
132132 msg .debug (' received' , data :tohex ())
133133 return data
134134end
@@ -198,7 +198,7 @@ function RPC:disconnect()
198198 end
199199end
200200
201- mp .register_event (' idle' , function ()
201+ mp .register_event (' idle-active ' , function ()
202202 RPC .activity = {
203203 details = ' No file' ,
204204 state = nil ,
@@ -229,14 +229,17 @@ mp.register_event('file-loaded', function()
229229 if path and path :find (' ^https?://' ) then
230230 if path :find (' youtube%.com' ) or path :find (' youtu%.be' ) then
231231 RPC .activity .assets .large_image = ' youtube'
232- elseif path :find (' invidio%.us' ) or path :find (' yewtu%.be' ) then
233- RPC .activity .assets .large_image = ' invidious'
234232 elseif path :find (' twitch%.tv' ) then
235233 RPC .activity .assets .large_image = ' twitch'
236234 elseif path :find (' twitter%.com' ) then
237235 RPC .activity .assets .large_image = ' twitter'
238- elseif path :find (' discordapp%.com' ) then
236+ elseif path :find (' discordapp%.com' ) or
237+ path :find (' discordapp%.net' ) then
239238 RPC .activity .assets .large_image = ' discord'
239+ elseif path :find (' yewtu%.be' ) or
240+ path :find (' invidious%.snopyta%.org' ) or
241+ path :find (' vid%.mint%.lgbt' ) then
242+ RPC .activity .assets .large_image = ' invidious'
240243 else
241244 RPC .activity .assets .large_image = ' stream'
242245 end
0 commit comments