package gomatrix // RespError is the standard JSON error response from Homeservers. It also implements the Golang "error" interface. // See http://matrix.org/docs/spec/client_server/r0.2.0.html#api-standards type RespError struct { ErrCode string `json:"errcode"` Err string `json:"error"` } // Error returns the errcode and error message. func (e RespError) Error() string { return e.ErrCode + ": " + e.Err } // RespCreateFilter is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-user-userid-filter type RespCreateFilter struct { FilterID string `json:"filter_id"` } // RespJoinRoom is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-join type RespJoinRoom struct { RoomID string `json:"room_id"` } // RespLeaveRoom is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-client-r0-rooms-roomid-leave type RespLeaveRoom struct{} // RespSendEvent is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#put-matrix-client-r0-rooms-roomid-send-eventtype-txnid type RespSendEvent struct { EventID string `json:"event_id"` } // RespMediaUpload is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#post-matrix-media-r0-upload type RespMediaUpload struct { ContentURI string `json:"content_uri"` } // RespSync is the JSON response for http://matrix.org/docs/spec/client_server/r0.2.0.html#get-matrix-client-r0-sync type RespSync struct { NextBatch string `json:"next_batch"` AccountData struct { Events []Event `json:"events"` } `json:"account_data"` Presence struct { Events []Event `json:"events"` } `json:"presence"` Rooms struct { Join map[string]struct { State struct { Events []Event `json:"events"` } `json:"state"` Timeline struct { Events []Event `json:"events"` Limited bool `json:"limited"` PrevBatch string `json:"prev_batch"` } `json:"timeline"` } `json:"join"` Invite map[string]struct { State struct { Events []Event } `json:"invite_state"` } `json:"invite"` } `json:"rooms"` }