Exemplo n.º 1
0
        /// <summary>
        /// Alias for <see cref="Matrix.MatrixClient.CreateRoom"/> which lets you set common items before creation.
        /// </summary>
        /// <returns>A MatrixRoom object</returns>
        /// <param name="name">The room name.</param>
        /// <param name="alias">The primary alias</param>
        /// <param name="topic">The room topic</param>
        public MatrixRoom CreateRoom(string name, string alias = null, string topic = null)
        {
            MatrixCreateRoom room = new MatrixCreateRoom();

            room.name            = name;
            room.room_alias_name = alias;
            room.topic           = topic;
            return(CreateRoom(room));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates a new room with the specified details, or a blank one otherwise.
        /// </summary>
        /// <returns>A MatrixRoom object</returns>
        /// <param name="roomdetails">Optional set of options to send to the server.</param>
        public MatrixRoom CreateRoom(MatrixCreateRoom roomdetails = null)
        {
            string roomid = api.ClientCreateRoom(roomdetails);

            if (roomid != null)
            {
                MatrixRoom room = JoinRoom(roomid);
                return(room);
            }
            return(null);
        }
Exemplo n.º 3
0
        public string ClientCreateRoom(MatrixCreateRoom roomrequest = null)
        {
            ThrowIfNotSupported();
            JObject req = null;

            if (roomrequest != null)
            {
                req = ObjectToJson(roomrequest);
            }
            MatrixRequestError error = mbackend.Post("/_matrix/client/r0/createRoom", true, req, out var result);

            if (error.IsOk)
            {
                string roomid = result ["room_id"].ToObject <string> ();
                return(roomid);
            }

            return(null);
        }