330 }):add_child(result)) |
330 }):add_child(result)) |
331 return true |
331 return true |
332 end |
332 end |
333 end); |
333 end); |
334 |
334 |
|
335 local initial_disco_started; |
335 stream:hook("ready", function () |
336 stream:hook("ready", function () |
|
337 if initial_disco_started then return; end |
|
338 initial_disco_started = true; |
336 stream:disco_local_services(function (services) |
339 stream:disco_local_services(function (services) |
337 for _, service in ipairs(services) do |
340 for _, service in ipairs(services) do |
338 for identity in pairs(stream.disco.cache[service.jid].identities) do |
341 for identity in pairs(stream.disco.cache[service.jid].identities) do |
339 local category, type = identity:match("^(.*)/(.*)$"); |
342 local category, type = identity:match("^(.*)/(.*)$"); |
340 stream:event("disco/service-discovered/"..category, { |
343 stream:event("disco/service-discovered/"..category, { |
341 type = type, jid = service.jid; |
344 type = type, jid = service.jid; |
342 }); |
345 }); |
343 end |
346 end |
344 end |
347 end |
|
348 stream:event("ready"); |
345 end); |
349 end); |
|
350 return true; |
346 end, 5); |
351 end, 5); |
347 end |
352 end |
348 |
353 |
349 -- end of disco.lua |
354 -- end of disco.lua |