예제 #1
0
        public virtual void RoomStateSend(string roomid, string type, MatrixRoomStateEvent message, string key = "")
        {
            JObject            msgData = ObjectToJson(message);
            MatrixRequestError error   = mbackend.Put(String.Format("/_matrix/client/r0/rooms/{0}/state/{1}/{2}", System.Uri.EscapeDataString(roomid), type, key), true, msgData, out var result);

            if (!error.IsOk)
            {
                throw new MatrixException(error.ToString());                 //TODO: Need a better exception
            }
        }
예제 #2
0
        public virtual string RoomStateSend(string roomid, string type, MatrixRoomStateEvent message, string key = "")
        {
            ThrowIfNotSupported();
            JObject            msgData = ObjectToJson(message);
            MatrixRequestError error   = mbackend.Put(String.Format("/_matrix/client/r0/rooms/{0}/state/{1}/{2}", Uri.EscapeDataString(roomid), type, key), true, msgData, out var result);

            if (!error.IsOk)
            {
                throw new MatrixException(error.ToString());                 //TODO: Need a better exception
            }
            return(result["event_id"].ToObject <string>());
        }
예제 #3
0
 /// <summary>
 /// Sends a state message.
 /// </summary>
 /// <param name="stateMessage">State message.</param>
 /// <param name="type">Type.</param>
 /// <param name="key">Key.</param>
 public void SendState(MatrixRoomStateEvent stateMessage, string type, string key = "")
 {
     api.RoomStateSend(ID, type, stateMessage, key);
 }
예제 #4
0
 /// <summary>
 /// Sends a state message.
 /// </summary>
 /// <param name="stateMessage">State message.</param>
 /// <param name="type">Type.</param>
 /// <param name="key">Key.</param>
 /// <returns>Event ID of the sent message</returns>
 public string SendState(MatrixRoomStateEvent stateMessage, string type, string key = "")
 {
     return(api.RoomStateSend(ID, type, stateMessage, key));
 }