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

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

cast_poll_vote(message_id, poll_id, payload)

Cast a vote on a poll

Sends events:

  • poll.vote_casted

    ### Required Arguments:

      - `message_id`
      - `poll_id`
      - `payload`: CastPollVoteRequest

commit_message(id, payload)

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

Sends events:

  • message.new

  • message.updated

  • message.new

  • message.updated

    ### Required Arguments:

      - `id`
      - `payload`: CommitMessageRequest

delete_message(id, opts \\ [])

@spec delete_message(String.t(), 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:

      - `hard`
      - `deleted_by`

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

@spec delete_reaction(String.t(), String.t(), [{: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:

      - `user_id`

get_message(id, opts \\ [])

@spec get_message(String.t(), [{:show_deleted_message, boolean()}]) ::
  {:ok, ExStreamClient.Model.GetMessageResponse.t()} | {:error, any()}
Returns message by ID


### Required Arguments:
    - `id`
### Optional Arguments:
    - `show_deleted_message`

get_reactions(id, opts \\ [])

@spec get_reactions(String.t(), offset: integer(), limit: integer()) ::
  {:ok, ExStreamClient.Model.GetReactionsResponse.t()} | {:error, any()}
Returns list of reactions of specific message


### Required Arguments:
    - `id`
### Optional Arguments:
    - `limit`
    - `offset`

get_replies(parent_id, opts \\ [])

@spec get_replies(String.t(),
  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`

query_message_history(payload)

Queries history for one message


### Required Arguments:
    - `payload`: QueryMessageHistoryRequest

query_reactions(id, payload)

Get reactions on a message


### Required Arguments:
    - `id`
    - `payload`: QueryReactionsRequest

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

@spec remove_poll_vote(String.t(), String.t(), String.t(), [{: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:

      - `user_id`

run_message_action(id, payload)

@spec run_message_action(String.t(), ExStreamClient.Model.MessageActionRequest.t()) ::
  {:ok, ExStreamClient.Model.MessageResponse.t()} | {:error, any()}
Executes message command action with given parameters

Sends events:

  • message.new

  • message.new

    ### Required Arguments:

      - `id`
      - `payload`: MessageActionRequest

send_reaction(id, payload)

Sends reaction to specified message

Sends events:

  • reaction.new

  • reaction.updated

    ### Required Arguments:

      - `id`
      - `payload`: SendReactionRequest

translate_message(id, payload)

Translates message to a given language using automated translation software

Sends events:

  • message.updated

  • message.updated

    ### Required Arguments:

      - `id`
      - `payload`: TranslateMessageRequest

undelete_message(id, payload)

Undelete a message that was previously soft-deleted

Sends events:

  • message.undeleted

  • message.undeleted

    ### Required Arguments:

      - `id`
      - `payload`: UpdateMessageRequest

update_message(id, payload)

Updates message with new data

Sends events:

  • message.updated

  • message.updated

    ### Required Arguments:

      - `id`
      - `payload`: UpdateMessageRequest

update_message_partial(id, payload)

Updates certain fields of the message

Sends events:

  • message.updated

  • message.updated

    ### Required Arguments:

      - `id`
      - `payload`: UpdateMessagePartialRequest