summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Sluift/Examples')
-rw-r--r--Sluift/Examples/EchoBot.lua27
-rw-r--r--Sluift/Examples/Login.lua24
2 files changed, 51 insertions, 0 deletions
diff --git a/Sluift/Examples/EchoBot.lua b/Sluift/Examples/EchoBot.lua
new file mode 100644
index 0000000..09da63b
--- /dev/null
+++ b/Sluift/Examples/EchoBot.lua
@@ -0,0 +1,27 @@
+--
+-- Copyright (c) 2010 Remko Tronçon
+-- Licensed under the GNU General Public License v3.
+-- See Documentation/Licenses/GPLv3.txt for more information.
+--
+
+--
+-- An XMPP Echoing Bot
+--
+-- This script logs into an XMPP server, sends initial presence,
+-- and then waits for incoming messages, and echoes them back.
+--
+-- 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") or false
+
+c = sluift.new_client(os.getenv("SLUIFT_JID"), os.getenv("SLUIFT_PASS"))
+c:connect()
+c:send_presence("Send me a message")
+c:for_event(function(e)
+ if e["type"] == "message" then c:send_message(e["from"], e["body"]) end
+ end)
diff --git a/Sluift/Examples/Login.lua b/Sluift/Examples/Login.lua
new file mode 100644
index 0000000..52c1521
--- /dev/null
+++ b/Sluift/Examples/Login.lua
@@ -0,0 +1,24 @@
+--
+-- 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 sends initial presence
+-- Useful as initialization script for an interactive session ('-i')
+--
+-- The following environment variables are used:
+-- * SLUIFT_JID, SWIFT_PASS: JID and password to log in with
+-- * SLUIFT_OPTIONS: Client options to use (e.g. "{compress = false}")
+-- * SLUIFT_DEBUG: Sets whether debugging should be turned on
+
+require "sluift"
+sluift.debug = os.getenv("SLUIFT_DEBUG") or false
+
+print("Connecting " .. os.getenv("SLUIFT_JID") .. " ...")
+c = sluift.new_client(os.getenv("SLUIFT_JID"), os.getenv("SLUIFT_PASS"))
+c:set_options(os.getenv("SLUIFT_OPTIONS") or {})
+c:connect()
+c:send_presence("")
+
+print("Connected ...")