blob: a202e62b63dd18c0fa201dc4b5623fcfe63ee7e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
--[[
Copyright (c) 2010-2013 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, iterates over all roster items,
and checks if their server is still alive. If not, the script asks you
whether it should remove the contact from your contact list.
The following environment variables are used:
* SLUIFT_JID, SWIFT_PASS: JID and password to log in with
* SLUIFT_DEBUG: Sets whether debugging should be turned on
--]]
require 'sluift'
sluift.debug = os.getenv('SLUIFT_DEBUG')
print 'Connecting ...'
c = sluift.new_client(os.getenv('SLUIFT_JID'), os.getenv('SLUIFT_PASS'))
c:connect(function (c)
print 'Checking for unreachable contacts ...'
for jid in pairs(c:get_contacts()) do
_, err = c:get_software_version {to = sluift.jid.domain(jid), timeout = 10000}
print(err)
if err == 'Remote server not found' or err == 'Remote server timeout' then
print('Delete ' .. jid .. ' (' .. err .. ') ? [y/n/q]')
answer = io.read()
if answer == 'y' then
c:remove_contact(jid)
elseif answer == 'q' then
break
end
end
end
print 'Done. Exiting ...'
end)
|