examples/muc.lua
author Myhailo Danylenko <isbear@ukrpost.net>
Sun, 14 Mar 2010 22:10:17 +0200
changeset 95 f2f4c7810a72
parent 77 8a7f7829f4df
child 99 ed4676536ed9
permissions -rw-r--r--
Use new module struct with api version
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
local lm  = require 'lm'
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     3
local muc = require 'lm.muc'
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
main.command ( 'room-config',
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     6
	function ( args )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     7
		local who
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     8
		if args then
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     9
			who = args
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    10
		else
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    11
			who = main.current_buddy ()
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    12
		end
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    13
		local conn = lm.connection.bless ( main.connection () )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    14
		muc.owner_config ( conn, who,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    15
			function ( form, submit, reject )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    16
				insert_form ( form,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    17
					function ( form )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    18
						submit ( form,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    19
							function ()
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    20
								main.print_info ( who, 'Room configuratino accepted' )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    21
							end,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    22
							function ( mesg )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    23
								main.print_info ( who, ('Room configuration failed: %s'):format ( mesg ) )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    24
							end )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    25
					end,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    26
					function ( form )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    27
						reject ( form,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    28
							function ()
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    29
								main.print_info ( who, 'Room configuration cancelled' )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    30
							end,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    31
							function ( mesg )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    32
								main.print_info ( who, ('Room configuration cancellation failed: %s'):format ( mesg ) )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    33
							end )
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
			function ( mesg )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    37
				main.print_info ( who, ('Room configutarion request failed: %s'):format ( mesg ) )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    38
			end )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    39
	end, false, 'jid' )
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
commands_help['room-config'] = "[room_jid]\n\nRequests room configuration form from server. You must be owner of this room."
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    42
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    43
-- vim: se ts=4: --