Matrix protocol in OCaml, Eio specialised
at main 71 lines 1.7 kB view raw
1(** Room state operations. *) 2 3(** Get all current state events for a room. *) 4val get_state : 5 Client.t -> 6 room_id:Matrix_proto.Id.Room_id.t -> 7 (Matrix_proto.Event.Raw_event.t list, Error.t) result 8 9(** Get a specific state event. 10 11 @param state_key The state key (empty string for events without a key). *) 12val get_state_event : 13 Client.t -> 14 room_id:Matrix_proto.Id.Room_id.t -> 15 event_type:string -> 16 ?state_key:string -> 17 unit -> 18 (Jsont.json, Error.t) result 19 20(** Set a state event. 21 22 @param state_key The state key (empty string for events without a key). *) 23val set_state : 24 Client.t -> 25 room_id:Matrix_proto.Id.Room_id.t -> 26 event_type:string -> 27 ?state_key:string -> 28 content:Jsont.json -> 29 unit -> 30 (Matrix_proto.Id.Event_id.t, Error.t) result 31 32(** {1 Convenience Functions} *) 33 34(** Get room name. *) 35val get_name : 36 Client.t -> 37 room_id:Matrix_proto.Id.Room_id.t -> 38 (string option, Error.t) result 39 40(** Set room name. *) 41val set_name : 42 Client.t -> 43 room_id:Matrix_proto.Id.Room_id.t -> 44 name:string -> 45 (Matrix_proto.Id.Event_id.t, Error.t) result 46 47(** Get room topic. *) 48val get_topic : 49 Client.t -> 50 room_id:Matrix_proto.Id.Room_id.t -> 51 (string option, Error.t) result 52 53(** Set room topic. *) 54val set_topic : 55 Client.t -> 56 room_id:Matrix_proto.Id.Room_id.t -> 57 topic:string -> 58 (Matrix_proto.Id.Event_id.t, Error.t) result 59 60(** Get room avatar URL. *) 61val get_avatar : 62 Client.t -> 63 room_id:Matrix_proto.Id.Room_id.t -> 64 (string option, Error.t) result 65 66(** Set room avatar URL. *) 67val set_avatar : 68 Client.t -> 69 room_id:Matrix_proto.Id.Room_id.t -> 70 url:string -> 71 (Matrix_proto.Id.Event_id.t, Error.t) result