examples/muc.lua
author Myhailo Danylenko <isbear@ukrpost.net>
Wed, 28 Nov 2012 20:17:53 +0200
changeset 146 04d19c9c1196
parent 121 75a7d595817c
permissions -rw-r--r--
Fix module loading problem
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 )
99
ed4676536ed9 Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
     7
		local connection = main.connection ()
ed4676536ed9 Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
     8
		if not connection then
ed4676536ed9 Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
     9
			print "You are not online!"
ed4676536ed9 Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
    10
			return
ed4676536ed9 Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
    11
		end
77
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    12
		local who
111
5bcdb71ef2f2 Fix some example scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 99
diff changeset
    13
		if args and args ~= "" then
77
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    14
			who = args
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    15
		else
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    16
			who = main.current_buddy ()
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    17
		end
99
ed4676536ed9 Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
    18
		local conn = lm.connection.bless ( connection )
77
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    19
		muc.owner_config ( conn, who,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    20
			function ( form, submit, reject )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    21
				insert_form ( form,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    22
					function ( form )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    23
						submit ( form,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    24
							function ()
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    25
								main.print_info ( who, 'Room configuratino accepted' )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    26
							end,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    27
							function ( mesg )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    28
								main.print_info ( who, ('Room configuration failed: %s'):format ( mesg ) )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    29
							end )
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 ( form )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    32
						reject ( form,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    33
							function ()
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    34
								main.print_info ( who, 'Room configuration cancelled' )
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 configuration cancellation 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 )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    40
			end,
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    41
			function ( mesg )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    42
				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
    43
			end )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    44
	end, false, 'jid' )
8a7f7829f4df Muc room configuration by owner
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    45
99
ed4676536ed9 Update most useful scripts
Myhailo Danylenko <isbear@ukrpost.net>
parents: 77
diff changeset
    46
-- vim: se ts=4 sw=4: --