examples/muc.lua
author Myhailo Danylenko <isbear@ukrpost.net>
Wed, 31 Mar 2010 01:25:19 +0300
changeset 99 ed4676536ed9
parent 77 8a7f7829f4df
child 111 5bcdb71ef2f2
permissions -rw-r--r--
Update most useful scripts * new hooks interface * connection state checking


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 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: --