/// <summary> /// Join a matrix room. If the user has already joined this room, do nothing. /// </summary> /// <returns>The room.</returns> /// <param name="roomid">roomid or alias</param> public MatrixRoom JoinRoom(string roomid) //TODO: Maybe add a try method. { if (!_rooms.ContainsKey(roomid)) //TODO: Check the status of the room too. { roomid = api.ClientJoin(roomid); if (roomid == null) { return(null); } MatrixRoom room = new MatrixRoom(api, roomid); _rooms.TryAdd(room.ID, room); } return(_rooms [roomid]); }