plugins/mod_admin_telnet.lua
changeset 5520 75230be5be58
parent 5278 f79be67e5666
child 5567 c4ab25b35a55
equal deleted inserted replaced
5519:06e188268df1 5520:75230be5be58
   901 	__tostring = function (self)
   901 	__tostring = function (self)
   902 		return "MUC room <"..self.room.jid..">";
   902 		return "MUC room <"..self.room.jid..">";
   903 	end;
   903 	end;
   904 };
   904 };
   905 
   905 
   906 function def_env.muc:room(room_jid)
   906 local function check_muc(jid)
   907 	local room_name, host = jid_split(room_jid);
   907 	local room_name, host = jid_split(jid);
   908 	if not hosts[host] then
   908 	if not hosts[host] then
   909 		return nil, "No such host: "..host;
   909 		return nil, "No such host: "..host;
   910 	elseif not hosts[host].modules.muc then
   910 	elseif not hosts[host].modules.muc then
   911 		return nil, "Host '"..host.."' is not a MUC service";
   911 		return nil, "Host '"..host.."' is not a MUC service";
   912 	end
   912 	end
       
   913 	return room_name, host;
       
   914 end
       
   915 
       
   916 function def_env.muc:create(room_jid)
       
   917 	local room, host = check_muc(room_jid);
       
   918 	return hosts[host].modules.muc.create_room(room_jid);
       
   919 end
       
   920 
       
   921 function def_env.muc:room(room_jid)
       
   922 	local room_name, host = check_muc(room_jid);
   913 	local room_obj = hosts[host].modules.muc.rooms[room_jid];
   923 	local room_obj = hosts[host].modules.muc.rooms[room_jid];
   914 	if not room_obj then
   924 	if not room_obj then
   915 		return nil, "No such room: "..room_jid;
   925 		return nil, "No such room: "..room_jid;
   916 	end
   926 	end
   917 	return setmetatable({ room = room_obj }, console_room_mt);
   927 	return setmetatable({ room = room_obj }, console_room_mt);