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


local lm  = require 'lm'
local muc = require 'lm.muc'

main.command ( 'room-config',
	function ( args )
		local connection = main.connection ()
		if not connection then
			print "You are not online!"
			return
		end
		local who
		if args and args ~= "" then
			who = args
		else
			who = main.current_buddy ()
		end
		local conn = lm.connection.bless ( connection )
		muc.owner_config ( conn, who,
			function ( form, submit, reject )
				insert_form ( form,
					function ( form )
						submit ( form,
							function ()
								main.print_info ( who, 'Room configuratino accepted' )
							end,
							function ( mesg )
								main.print_info ( who, ('Room configuration failed: %s'):format ( mesg ) )
							end )
					end,
					function ( form )
						reject ( form,
							function ()
								main.print_info ( who, 'Room configuration cancelled' )
							end,
							function ( mesg )
								main.print_info ( who, ('Room configuration cancellation failed: %s'):format ( mesg ) )
							end )
					end )
			end,
			function ( mesg )
				main.print_info ( who, ('Room configutarion request failed: %s'):format ( mesg ) )
			end )
	end, false, 'jid' )

commands_help['room-config'] = "[room_jid]\n\nRequests room configuration form from server. You must be owner of this room."

-- vim: se ts=4 sw=4: --