diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-03-17 22:09:50 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-03-17 22:14:46 (GMT) |
commit | 5be2178d55246d22e079c05db848eb3ec50f1aa9 (patch) | |
tree | 39def8589842ba92b809e6aa4d7f0e5f7cfcb38e /Sluift/Examples | |
parent | 9cd05402468a7df3588ee1b1a8e1bf118eb72302 (diff) | |
download | swift-contrib-5be2178d55246d22e079c05db848eb3ec50f1aa9.zip swift-contrib-5be2178d55246d22e079c05db848eb3ec50f1aa9.tar.bz2 |
Sluift: Added example script for removing unreachable contacts.
Diffstat (limited to 'Sluift/Examples')
-rw-r--r-- | Sluift/Examples/RemoveUnreachableContacts.lua | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Sluift/Examples/RemoveUnreachableContacts.lua b/Sluift/Examples/RemoveUnreachableContacts.lua new file mode 100644 index 0000000..90122df --- /dev/null +++ b/Sluift/Examples/RemoveUnreachableContacts.lua @@ -0,0 +1,37 @@ +-- +-- 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, 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() + +print "Checking for unreachable contacts ..." +for jid, _ in pairs(c:get_contacts()) do + _, err = c:get_version(sluift.jid_domain(jid), 10000) + if err == "Remote server not found" or err == "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 ..." +c:disconnect() |