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

View Source

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

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

Shared options

All functions in this module accept the following optional parameters:

  • api_key - API key to use. If not provided, the default key from config will be used
  • authenticate_as_user - User id to authenticate. If not provided, the server key will be used
  • api_key_secret - API key secret to use. If not provided, the default secret from config will be used
  • endpoint - endpoint to use. If not provided, the default endpoint from config will be used
  • client - HTTP client to use. Must implement ExStreamClient.Http.Behavior. Defaults to ExStreamClient.Http
  • req_opts - all of these options will be forwarded to req. See Req.new/1 for available options

Summary

Functions

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

Removes user reaction from the message

Deletes a user's created reminder

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

Types

shared_opts()

@type shared_opts() :: [
  api_key: String.t(),
  api_key_secret: String.t(),
  authenticate_as_user: String.t(),
  client: module(),
  endpoint: String.t(),
  req_opts: keyword()
]

Functions

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

Cast a vote on a poll

Sends events:

  • feeds.poll.vote_casted
  • feeds.poll.vote_changed
  • feeds.poll.vote_removed
  • poll.vote_casted
  • poll.vote_changed
  • poll.vote_removed

Required Arguments:

Optional Arguments:

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

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:

create_reminder(message_id, payload, opts \\ [])

Creates a new reminder

Sends events:

  • reminder.created

Required Arguments:

Optional Arguments:

delete_message(id, opts \\ [])

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

Deletes message

Sends events:

  • message.deleted
  • message.deleted

Required Arguments:

  • id

Optional Arguments:

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

@spec delete_poll_vote(String.t(), String.t(), String.t(), [
  {:user_id, String.t()} | shared_opts()
]) ::
  {:ok, ExStreamClient.Model.PollVoteResponse.t()} | {:error, any()}

Delete a vote from a poll

Sends events:

  • feeds.poll.vote_removed
  • poll.vote_removed

Required Arguments:

  • message_id
  • poll_id
  • vote_id

Optional Arguments:

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

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

Removes user reaction from the message

Sends events:

  • reaction.deleted

Required Arguments:

  • id
  • type

Optional Arguments:

delete_reminder(message_id, opts \\ [])

@spec delete_reminder(String.t(), [{:user_id, String.t()} | shared_opts()]) ::
  {:ok, ExStreamClient.Model.DeleteReminderResponse.t()} | {:error, any()}

Deletes a user's created reminder

Sends events:

  • reminder.deleted

Required Arguments:

  • message_id

Optional Arguments:

get_message(id, opts \\ [])

@spec get_message(String.t(), [{:show_deleted_message, boolean()} | shared_opts()]) ::
  {: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(), [
  ({:offset, integer()} | {:limit, integer()}) | shared_opts()
]) ::
  {: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(), [
  ({: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()})
  | shared_opts()
]) :: {:ok, ExStreamClient.Model.GetRepliesResponse.t()} | {:error, any()}

Returns replies (thread) of the message

Required Arguments:

  • parent_id

Optional Arguments:

  • created_at_after
  • created_at_after_or_equal
  • created_at_around
  • created_at_before
  • created_at_before_or_equal
  • id_around
  • id_gt
  • id_gte
  • id_lt
  • id_lte
  • limit
  • offset
  • sort
  • All options from Shared Options are supported.

query_message_history(payload, opts \\ [])

Queries history for one message

Required Arguments:

Optional Arguments:

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

Get reactions on a message

Required Arguments:

Optional Arguments:

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

Executes message command action with given parameters

Sends events:

  • message.new
  • message.new

Required Arguments:

Optional Arguments:

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

Sends reaction to specified message

Sends events:

  • reaction.new
  • reaction.updated

Required Arguments:

Optional Arguments:

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

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 \\ [])

Undelete a message that was previously soft-deleted

Sends events:

  • message.undeleted
  • message.undeleted

Required Arguments:

Optional Arguments:

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

Updates message with new data

Sends events:

  • message.updated
  • message.updated

Required Arguments:

Optional Arguments:

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

Updates certain fields of the message

Sends events:

  • message.updated
  • message.updated

Required Arguments:

Optional Arguments:

update_reminder(message_id, payload, opts \\ [])

Updates an existing reminder

Sends events:

  • reminder.updated

Required Arguments:

Optional Arguments: