summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Sluift/Examples/EchoBot.lua')
-rw-r--r--Sluift/Examples/EchoBot.lua44
1 files changed, 24 insertions, 20 deletions
diff --git a/Sluift/Examples/EchoBot.lua b/Sluift/Examples/EchoBot.lua
index 09da63b..fc495c4 100644
--- a/Sluift/Examples/EchoBot.lua
+++ b/Sluift/Examples/EchoBot.lua
@@ -1,27 +1,31 @@
---
--- Copyright (c) 2010 Remko Tronçon
--- Licensed under the GNU General Public License v3.
--- See Documentation/Licenses/GPLv3.txt for more information.
---
+--[[
+ Copyright (c) 2010-2013 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
---
+--[[
+
+ 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)
+c:connect(function ()
+ c:set_version{name = "EchoBot", version = "0.1"}
+ c:send_presence("Send me a message")
+ for message in c:messages() do
+ c:send_message{to = message["from"], body = message["body"]}
+ end
+end)