ExStreamClient.Operations.Chat.Messages (ExStreamClient v0.1.3)

View Source

Modules for interacting with the chat/messages group of Stream APIs

API Reference: https://getstream.github.io/protocol/?urls.primaryName=Chat%20v2

Summary

Functions

Commits a pending message, which will make it visible in the channel

Removes user reaction from the message

Returns message by ID

Returns list of reactions of specific message

Returns replies (thread) of the message

Queries history for one message

Get reactions on a message

Executes message command action with given parameters

Sends reaction to specified message

Translates message to a given language using automated translation software

Undelete a message that was previously soft-deleted

Updates message with new data

Updates certain fields of the message

Functions

cast_poll_vote(message_id, poll_id, payload, opts \\ [])

@spec cast_poll_vote(
  String.t(),
  String.t(),
  ExStreamClient.Model.CastPollVoteRequest.t(),
  [
    {:client, module()}
  ]
) :: {:ok, ExStreamClient.Model.PollVoteResponse.t()} | {:error, any()}

Cast a vote on a poll

Sends events:

  • poll.vote_casted

Required Arguments:

Optional Arguments:

commit_message(id, payload, opts \\ [])

@spec commit_message(String.t(), ExStreamClient.Model.CommitMessageRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.MessageResponse.t()} | {:error, any()}

Commits a pending message, which will make it visible in the channel

Sends events:

  • message.new
  • message.updated
  • message.new
  • message.updated

Required Arguments:

Optional Arguments:

delete_message(id, opts \\ [])

@spec delete_message(String.t(),
  client: module(),
  deleted_by: String.t(),
  hard: boolean()
) ::
  {:ok, ExStreamClient.Model.DeleteMessageResponse.t()} | {:error, any()}

Deletes message

Sends events:

  • message.deleted
  • message.deleted

Required Arguments:

  • id

Optional Arguments:

delete_reaction(id, type, opts \\ [])

@spec delete_reaction(String.t(), String.t(), client: module(), user_id: String.t()) ::
  {:ok, ExStreamClient.Model.DeleteReactionResponse.t()} | {:error, any()}

Removes user reaction from the message

Sends events:

  • reaction.deleted

Required Arguments:

  • id
  • type

Optional Arguments:

get_message(id, opts \\ [])

@spec get_message(String.t(), client: module(), show_deleted_message: boolean()) ::
  {:ok, ExStreamClient.Model.GetMessageResponse.t()} | {:error, any()}

Returns message by ID

Required Arguments:

  • id

Optional Arguments:

get_reactions(id, opts \\ [])

@spec get_reactions(String.t(), client: module(), offset: integer(), limit: integer()) ::
  {:ok, ExStreamClient.Model.GetReactionsResponse.t()} | {:error, any()}

Returns list of reactions of specific message

Required Arguments:

  • id

Optional Arguments:

get_replies(parent_id, opts \\ [])

@spec get_replies(String.t(),
  client: module(),
  created_at_around: float(),
  id_around: String.t(),
  created_at_before: float(),
  created_at_before_or_equal: float(),
  created_at_after: float(),
  created_at_after_or_equal: float(),
  id_lt: String.t(),
  id_lte: String.t(),
  id_gt: String.t(),
  id_gte: String.t(),
  offset: integer(),
  limit: integer(),
  sort: list()
) :: {:ok, ExStreamClient.Model.GetRepliesResponse.t()} | {:error, any()}

Returns replies (thread) of the message

Required Arguments:

  • parent_id

Optional Arguments:

  • sort
  • limit
  • offset
  • id_gte
  • id_gt
  • id_lte
  • id_lt
  • created_at_after_or_equal
  • created_at_after
  • created_at_before_or_equal
  • created_at_before
  • id_around
  • created_at_around
  • client: HTTP client to use. Must implement ExStreamClient.Http.Behavior(e.g., ExStreamClient.Http)

query_message_history(payload, opts \\ [])

@spec query_message_history(
  ExStreamClient.Model.QueryMessageHistoryRequest.t(),
  [{:client, module()}]
) ::
  {:ok, ExStreamClient.Model.QueryMessageHistoryResponse.t()} | {:error, any()}

Queries history for one message

Required Arguments:

Optional Arguments:

query_reactions(id, payload, opts \\ [])

@spec query_reactions(String.t(), ExStreamClient.Model.QueryReactionsRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.QueryReactionsResponse.t()} | {:error, any()}

Get reactions on a message

Required Arguments:

Optional Arguments:

remove_poll_vote(message_id, poll_id, vote_id, opts \\ [])

@spec remove_poll_vote(String.t(), String.t(), String.t(),
  client: module(),
  user_id: String.t()
) ::
  {:ok, ExStreamClient.Model.PollVoteResponse.t()} | {:error, any()}

Delete a vote from a poll

Sends events:

  • poll.vote_removed

Required Arguments:

  • message_id
  • poll_id
  • vote_id

Optional Arguments:

run_message_action(id, payload, opts \\ [])

@spec run_message_action(String.t(), ExStreamClient.Model.MessageActionRequest.t(), [
  {:client, module()}
]) :: {:ok, ExStreamClient.Model.MessageResponse.t()} | {:error, any()}

Executes message command action with given parameters

Sends events:

  • message.new
  • message.new

Required Arguments:

Optional Arguments:

send_reaction(id, payload, opts \\ [])

@spec send_reaction(String.t(), ExStreamClient.Model.SendReactionRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.SendReactionResponse.t()} | {:error, any()}

Sends reaction to specified message

Sends events:

  • reaction.new
  • reaction.updated

Required Arguments:

Optional Arguments:

translate_message(id, payload, opts \\ [])

@spec translate_message(
  String.t(),
  ExStreamClient.Model.TranslateMessageRequest.t(),
  [
    {:client, module()}
  ]
) :: {:ok, ExStreamClient.Model.MessageResponse.t()} | {:error, any()}

Translates message to a given language using automated translation software

Sends events:

  • message.updated
  • message.updated

Required Arguments:

Optional Arguments:

undelete_message(id, payload, opts \\ [])

@spec undelete_message(String.t(), ExStreamClient.Model.UpdateMessageRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.UpdateMessageResponse.t()} | {:error, any()}

Undelete a message that was previously soft-deleted

Sends events:

  • message.undeleted
  • message.undeleted

Required Arguments:

Optional Arguments:

update_message(id, payload, opts \\ [])

@spec update_message(String.t(), ExStreamClient.Model.UpdateMessageRequest.t(), [
  {:client, module()}
]) ::
  {:ok, ExStreamClient.Model.UpdateMessageResponse.t()} | {:error, any()}

Updates message with new data

Sends events:

  • message.updated
  • message.updated

Required Arguments:

Optional Arguments:

update_message_partial(id, payload, opts \\ [])

@spec update_message_partial(
  String.t(),
  ExStreamClient.Model.UpdateMessagePartialRequest.t(),
  [
    {:client, module()}
  ]
) ::
  {:ok, ExStreamClient.Model.UpdateMessagePartialResponse.t()} | {:error, any()}

Updates certain fields of the message

Sends events:

  • message.updated
  • message.updated

Required Arguments:

Optional Arguments: