diff options
Diffstat (limited to 'Sluift/Examples/CollectVersions.lua')
-rw-r--r-- | Sluift/Examples/CollectVersions.lua | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/Sluift/Examples/CollectVersions.lua b/Sluift/Examples/CollectVersions.lua index c93c8c8..38bf6ac 100644 --- a/Sluift/Examples/CollectVersions.lua +++ b/Sluift/Examples/CollectVersions.lua @@ -1,22 +1,22 @@ --- --- Copyright (c) 2010 Remko Tronçon --- Licensed under the GNU General Public License v3. --- See Documentation/Licenses/GPLv3.txt for more information. --- +--[[ --- This script logs into an XMPP server, and collects statistics about --- the server software of all contacts in your roster + Copyright (c) 2010-2013 Remko Tronçon + Licensed under the GNU General Public License v3. + See Documentation/Licenses/GPLv3.txt for more information. -require "sluift" + This script logs into an XMPP server, and collects statistics about + the server software of all contacts in your roster -c = sluift.new_client(os.getenv("SLUIFT_JID"), os.getenv("SLUIFT_PASS")) -c:connect() +--]] +require 'sluift' + +c = sluift.new_client(os.getenv('SLUIFT_JID'), os.getenv('SLUIFT_PASS')) +c:connect(function () versions = {} -for jid, _ in pairs(c:get_contacts()) do - v = c:get_version(sluift.jid_domain(jid)) - if v then versions[v["name"]] = (versions[v["name"]] or 0) + 1 end + for jid in pairs(c:get_contacts()) do + local v = c:get_software_version {to = sluift.jid.domain(jid), timeout = 3000} or {name = 'Unknown'} + versions[v['name']] = (versions[v['name']] or 0) + 1 end -for name, count in pairs(versions) do print(name .. ": " .. count) end - -c:disconnect() + for name, count in pairs(versions) do print(name .. ': ' .. count) end +end) |