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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
77
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     1
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     2
-- MULTI-USER CHAT (XEP-0045)
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     3
-- only owner room configuration
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     4
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     5
-- library
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     6
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     7
local iq     = require 'lm.iq'
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     8
local x_data = require 'lm.x_data'
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     9
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    10
--
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    11
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    12
local F = { }
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    13
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    14
function F.owner_config ( conn, to, success, fail )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    15
	iq.send ( conn, to, 'get',
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    16
		{
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    17
			query = { xmlns = 'http://jabber.org/protocol/muc#owner' },
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    18
		},
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    19
		function ( mess )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    20
			local x = mess:path ( 'query', 'x' )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    21
			if x then
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    22
				success ( x_data.parse ( x ),
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    23
					function ( form, success, fail )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    24
						iq.send ( conn, to, 'set',
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    25
							{
111
5bcdb71ef2f2 Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
    26
								query = form:format ( { xmlns = 'http://jabber.org/protocol/muc#owner' }, 'submit' ),
77
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    27
							}, success, fail )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    28
					end,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    29
					function ( form, success, fail )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    30
						iq.send ( conn, to, 'set',
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    31
							{
111
5bcdb71ef2f2 Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
    32
								query = form:format ( { xmlns = 'http://jabber.org/protocol/muc#owner' }, 'cancel' ),
77
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    33
							}, success, fail )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    34
					end )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    35
			end
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    36
		end, fail )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    37
end
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    38
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    39
return F
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    40
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    41
-- vim: se ts=4: --