ExStreamClient.Operations.Chat.Channels (ExStreamClient v0.1.5)

View Source

Modules for interacting with the chat/channels 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
  • 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

Allows to delete several channels at once asynchronously

Deletes previously uploaded file

Deletes previously uploaded image

Returns list messages found by IDs

This Method creates a channel or returns an existing one with matching attributes

This Method creates a channel or returns an existing one with matching attributes

Marks channel as hidden for current user

Marks channels as read up to the specific message. If no channels is given, mark all channel as read

Marks channel as read up to the specific message

Marks channel as unread from a specific message

Query channels with filter query

Sends event to the channel

Sends new message to the specified channel

Shows previously hidden channel

Truncates messages from a channel. Can be applied to the entire channel or scoped to specific members.

Updates certain fields of the channel

Functions

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

@spec delete_channel(String.t(), String.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  id: String.t(),
  type: String.t()
) :: {:ok, ExStreamClient.Model.DeleteChannelResponse.t()} | {:error, any()}

Deletes channel

Sends events:

  • channel.deleted
  • channel.deleted

Required Arguments:

  • type
  • id

Optional Arguments:

  • hard_delete

All options from Shared Options are supported.

delete_channels(payload, opts \\ [])

Allows to delete several channels at once asynchronously

Sends events:

  • channel.deleted
  • channel.deleted

Required Arguments:

All options from Shared Options are supported.

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

@spec delete_draft(String.t(), String.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  id: String.t(),
  type: String.t()
) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}

Deletes a draft

Sends events:

  • draft.deleted

Required Arguments:

  • type
  • id

Optional Arguments:

  • parent_id
  • user_id

All options from Shared Options are supported.

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

@spec delete_file(String.t(), String.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  id: String.t(),
  type: String.t()
) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}

Deletes previously uploaded file

Required Arguments:

  • type
  • id

Optional Arguments:

  • url

All options from Shared Options are supported.

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

@spec delete_image(String.t(), String.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  id: String.t(),
  type: String.t()
) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}

Deletes previously uploaded image

Required Arguments:

  • type
  • id

Optional Arguments:

  • url

All options from Shared Options are supported.

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

@spec get_draft(String.t(), String.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  id: String.t(),
  type: String.t()
) :: {:ok, ExStreamClient.Model.GetDraftResponse.t()} | {:error, any()}

Get a draft

Required Arguments:

  • type
  • id

Optional Arguments:

  • parent_id
  • user_id

All options from Shared Options are supported.

get_many_messages(type, id, ids, opts \\ [])

Returns list messages found by IDs

Required Arguments:

  • type
  • id
  • ids

All options from Shared Options are supported.

get_or_create_channel(type, id, payload, opts \\ [])

This Method creates a channel or returns an existing one with matching attributes

Sends events:

  • channel.created
  • member.added
  • member.removed
  • member.updated
  • user.watching.start

Required Arguments:

All options from Shared Options are supported.

get_or_create_distinct_channel(type, payload, opts \\ [])

This Method creates a channel or returns an existing one with matching attributes

Sends events:

  • channel.created
  • member.added
  • member.removed
  • member.updated
  • user.watching.start

Required Arguments:

All options from Shared Options are supported.

hide_channel(type, id, payload, opts \\ [])

Marks channel as hidden for current user

Sends events:

  • channel.hidden
  • channel.hidden

Required Arguments:

All options from Shared Options are supported.

mark_channels_read(payload, opts \\ [])

Marks channels as read up to the specific message. If no channels is given, mark all channel as read

Sends events:

  • message.read
  • message.read

Required Arguments:

All options from Shared Options are supported.

mark_read(type, id, payload, opts \\ [])

Marks channel as read up to the specific message

Sends events:

  • message.read
  • message.read

Required Arguments:

All options from Shared Options are supported.

mark_unread(type, id, payload, opts \\ [])

Marks channel as unread from a specific message

Required Arguments:

All options from Shared Options are supported.

query_channels(payload, opts \\ [])

Query channels with filter query

Required Arguments:

All options from Shared Options are supported.

send_event(type, id, payload, opts \\ [])

Sends event to the channel

Required Arguments:

All options from Shared Options are supported.

send_message(type, id, payload, opts \\ [])

Sends new message to the specified channel

Sends events:

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

Required Arguments:

All options from Shared Options are supported.

show_channel(type, id, payload, opts \\ [])

Shows previously hidden channel

Sends events:

  • channel.visible
  • channel.visible

Required Arguments:

All options from Shared Options are supported.

truncate_channel(type, id, payload, opts \\ [])

Truncates messages from a channel. Can be applied to the entire channel or scoped to specific members.

Sends events:

  • channel.truncated
  • channel.truncated

Required Arguments:

All options from Shared Options are supported.

update_channel(type, id, payload, opts \\ [])

Change channel data

Sends events:

  • channel.updated
  • member.added
  • member.removed
  • member.updated
  • message.new
  • channel.updated
  • member.added
  • member.removed
  • member.updated
  • message.new

Required Arguments:

All options from Shared Options are supported.

update_channel_partial(type, id, payload, opts \\ [])

Updates certain fields of the channel

Sends events:

  • channel.updated
  • channel.updated

Required Arguments:

All options from Shared Options are supported.

update_member_partial(type, id, payload, opts \\ [])

@spec update_member_partial(
  String.t(),
  String.t(),
  ExStreamClient.Model.UpdateMemberPartialRequest.t(),
  req_opts: keyword(),
  client: module(),
  endpoint: String.t(),
  api_key: String.t(),
  api_key_secret: String.t(),
  payload: ExStreamClient.Model.UpdateMemberPartialRequest.t(),
  id: String.t(),
  type: String.t()
) ::
  {:ok, ExStreamClient.Model.UpdateMemberPartialResponse.t()} | {:error, any()}

Required Arguments:

Optional Arguments:

  • user_id

All options from Shared Options are supported.

upload_file(type, id, payload, opts \\ [])

Uploads file

Required Arguments:

All options from Shared Options are supported.

upload_image(type, id, payload, opts \\ [])

Uploads image

Required Arguments:

All options from Shared Options are supported.