aboutsummaryrefslogtreecommitdiff
path: root/lib/models/channel/message/message.mli
blob: 30464920ac1afcdf00519719989a77158b3567cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
open Async

include module type of Message_t

(** Add the given emoji as a reaction. *)
val add_reaction : t -> Emoji.t -> unit Deferred.Or_error.t

(** Remove the reaction. Must also specify the user. *)
val remove_reaction : t -> Emoji.t -> User_t.t -> unit Deferred.Or_error.t

(** Remove all reactions from the message. *)
val clear_reactions : t -> unit Deferred.Or_error.t

(** Delete the message. *)
val delete : t -> unit Deferred.Or_error.t

(** Pin the message. *)
val pin : t -> unit Deferred.Or_error.t

(** Unping the message. *)
val unpin : t -> unit Deferred.Or_error.t

(** Sugar for [Channel_id.say msg.channel_id content]. *)
val reply : t -> string -> t Deferred.Or_error.t

(** Sugar for [Channel_id.send_message ?embed ?content ?files ?tts ?reply_mention msg]. *)
val reply_with :
    ?embed:Embed.t ->
    ?content:string ->
    ?files:(string * string) list ->
    ?tts:bool ->
    ?reply_mention:bool ->
    t ->
    Message_t.t Deferred.Or_error.t

(** Set the content of the message. *)
val set_content : t -> string -> t Deferred.Or_error.t

(** Set the embed of the message. *)
val set_embed : t -> Embed.t -> t Deferred.Or_error.t