examples/register.lua
author Myhailo Danylenko <isbear@ukrpost.net>
Sat, 30 Jul 2016 05:04:35 +0300
changeset 153 8fba61f363a8
parent 121 75a7d595817c
permissions -rw-r--r--
lua: Change timer() argument to float


local lm          = require 'lm'
local iq_register = require 'lm.iq_register'

main.command ( 'register',
	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.full_jid ()
		end
		iq_register.register ( lm.connection.bless ( connection ), who,
			function ( form, submit, reject )
				insert_form ( form,
					function ( form )
						submit ( form,
							function ()
								main.print_info ( who, 'Successfully registered' )
							end,
							function ( mesg )
								main.print_info ( who, 'Registration failed: ' .. mesg )
							end )
					end,
					function ( form )
						reject ( form,
							function ()
								main.print_info ( who, 'Registration cancelled' )
							end,
							function ( mesg )
								main.print_info ( who, 'Registration cancellation failed: ' .. mesg )
							end )
					end )
			end,
			function ( mesg )
				main.print_info ( who, 'Registration failed: ' .. mesg )
			end )
	end, false, 'jid' )
main.command ( 'cancel',
	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.full_jid ()
		end
		iq_register.unregister ( lm.connection.bless ( connection ), who,
			function ( form, submit, reject )
				if not form then
					main.print_info ( who, 'Successfully unregistered' )
				else
					insert_form ( form,
						function ( form )
							submit ( form,
								function ()
									main.print_info ( who, 'Successfully unregistered' )
								end,
								function ( mesg )
									main.print_info ( who, 'Unregistrering failed: ' .. mesg )
								end )
						end,
						function ( form )
							reject ( form,
								function ()
									main.print_info ( who, 'Unregistration cancelled' )
								end,
								function ( mesg )
									main.print_info ( who, 'Unregistration cancellation failed: ' .. mesg )
								end )
						end )
				end
			end,
			function ( mesg )
				main.print_info ( who, 'Unregistering failed: ' .. mesg )
			end )
	end, false, 'jid' )

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