examples/lm/muc.lua
author Myhailo Danylenko <isbear@ukrpost.net>
Wed, 14 Apr 2010 11:21:02 +0300
changeset 111 5bcdb71ef2f2
parent 77 8a7f7829f4df
permissions -rw-r--r--
Fix some example scripts * Unregister LM message handlers on module unload * Fix muc room-config command


-- MULTI-USER CHAT (XEP-0045)
-- only owner room configuration

-- library

local iq     = require 'lm.iq'
local x_data = require 'lm.x_data'

--

local F = { }

function F.owner_config ( conn, to, success, fail )
	iq.send ( conn, to, 'get',
		{
			query = { xmlns = 'http://jabber.org/protocol/muc#owner' },
		},
		function ( mess )
			local x = mess:path ( 'query', 'x' )
			if x then
				success ( x_data.parse ( x ),
					function ( form, success, fail )
						iq.send ( conn, to, 'set',
							{
								query = form:format ( { xmlns = 'http://jabber.org/protocol/muc#owner' }, 'submit' ),
							}, success, fail )
					end,
					function ( form, success, fail )
						iq.send ( conn, to, 'set',
							{
								query = form:format ( { xmlns = 'http://jabber.org/protocol/muc#owner' }, 'cancel' ),
							}, success, fail )
					end )
			end
		end, fail )
end

return F

-- vim: se ts=4: --