examples/room_priv.lua
author Myhailo Danylenko <isbear@ukrpost.net>
Mon, 27 Apr 2009 12:51:53 +0300
changeset 71 eb6edac301ac
parent 34 8206d7cb1447
child 73 b3ebfb8eb798
permissions -rw-r--r--
Fixes to tune and register, change fifo perm


-- ROOM NICK COMPLETION

room_cid = main.command ( 'priv',
	function ( args )
		main.run ( 'room privmsg ' .. args )
	end, false, {} )

commands_help['priv'] = "nick message\n\nSends private message to room participant. Nick completion available! ;)"

registered_nicks = {}

function register_nicks ()
	for k, nick in pairs ( registered_nicks ) do
		main.del_completion ( room_cid, nick )
	end
	local buddy = main.current_buddy ()
	if buddy then
		local info = main.buddy_info ( buddy )
		if info then
			registered_nicks = { }
			if info.type == 'room' then
				for nick, k in pairs ( info.resources ) do
					main.add_completion ( room_cid, nick )
					table.insert ( registered_nicks, nick )
				end
			end
		end
	end
end

room_priv_pgup_action = main.binding ( '338' )
room_priv_pgdn_action = main.binding ( '339' )
main.binding ( '338', ('lua main.run ( %q ); register_nicks ()'):format ( room_priv_pgup_action ) )
main.binding ( '339', ('lua main.run ( %q ); register_nicks ()'):format ( room_priv_pgdn_action ) )

hooks_d['hook-quit'].room_priv =
	function ( args )
		main.binding ( '338', room_priv_pgup_action )
		main.binding ( '339', room_priv_pgdn_action )
	end

-- vim: se ts=4: --