ExStreamClient.Operations.Chat.Channels (ExStreamClient v0.1.7)
View SourceModules 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 usedapi_key_secret
- API key secret to use. If not provided, the default secret from config will be usedendpoint
- endpoint to use. If not provided, the default endpoint from config will be usedclient
- HTTP client to use. Must implementExStreamClient.Http.Behavior
. Defaults toExStreamClient.Http
req_opts
- all of these options will be forwarded to req. SeeReq.new/1
for available options
Summary
Functions
Deletes channel
Allows to delete several channels at once asynchronously
Deletes a draft
Deletes previously uploaded file
Deletes previously uploaded image
Get a draft
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.
Change channel data
Updates certain fields of the channel
Uploads file
Uploads image
Types
Functions
@spec delete_channel(String.t(), String.t(), [ {:hard_delete, boolean()} | shared_opts() ]) :: {: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.
@spec delete_channels(ExStreamClient.Model.DeleteChannelsRequest.t(), shared_opts()) :: {:ok, ExStreamClient.Model.DeleteChannelsResponse.t()} | {:error, any()}
Allows to delete several channels at once asynchronously
Sends events:
channel.deleted
channel.deleted
Required Arguments:
Optional Arguments:
- All options from Shared Options are supported.
@spec delete_draft(String.t(), String.t(), [ ({:user_id, String.t()} | {:parent_id, String.t()}) | shared_opts() ]) :: {: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.
@spec delete_file(String.t(), String.t(), [{:url, String.t()} | shared_opts()]) :: {: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.
@spec delete_image(String.t(), String.t(), [{:url, String.t()} | shared_opts()]) :: {: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.
@spec get_draft(String.t(), String.t(), [ ({:user_id, String.t()} | {:parent_id, String.t()}) | shared_opts() ]) :: {: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.
@spec get_many_messages(String.t(), String.t(), list(), shared_opts()) :: {:ok, ExStreamClient.Model.GetManyMessagesResponse.t()} | {:error, any()}
Returns list messages found by IDs
Required Arguments:
type
id
ids
Optional Arguments:
- All options from Shared Options are supported.
@spec get_or_create_channel( String.t(), String.t(), ExStreamClient.Model.ChannelGetOrCreateRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.ChannelStateResponse.t()} | {:error, any()}
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:
type
id
payload
:Elixir.ExStreamClient.Model.ChannelGetOrCreateRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec get_or_create_distinct_channel( String.t(), ExStreamClient.Model.ChannelGetOrCreateRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.ChannelStateResponse.t()} | {:error, any()}
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:
Optional Arguments:
- All options from Shared Options are supported.
@spec hide_channel( String.t(), String.t(), ExStreamClient.Model.HideChannelRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.HideChannelResponse.t()} | {:error, any()}
Marks channel as hidden for current user
Sends events:
channel.hidden
channel.hidden
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.HideChannelRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec mark_channels_read( ExStreamClient.Model.MarkChannelsReadRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.MarkReadResponse.t()} | {:error, any()}
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:
Optional Arguments:
- All options from Shared Options are supported.
@spec mark_read( String.t(), String.t(), ExStreamClient.Model.MarkReadRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.MarkReadResponse.t()} | {:error, any()}
Marks channel as read up to the specific message
Sends events:
message.read
message.read
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.MarkReadRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec mark_unread( String.t(), String.t(), ExStreamClient.Model.MarkUnreadRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}
Marks channel as unread from a specific message
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.MarkUnreadRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec query_channels(ExStreamClient.Model.QueryChannelsRequest.t(), shared_opts()) :: {:ok, ExStreamClient.Model.QueryChannelsResponse.t()} | {:error, any()}
Query channels with filter query
Required Arguments:
Optional Arguments:
- All options from Shared Options are supported.
@spec send_event( String.t(), String.t(), ExStreamClient.Model.SendEventRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.EventResponse.t()} | {:error, any()}
Sends event to the channel
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.SendEventRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec send_message( String.t(), String.t(), ExStreamClient.Model.SendMessageRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.SendMessageResponse.t()} | {:error, any()}
Sends new message to the specified channel
Sends events:
message.new
message.updated
message.new
message.updated
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.SendMessageRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec show_channel( String.t(), String.t(), ExStreamClient.Model.ShowChannelRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.ShowChannelResponse.t()} | {:error, any()}
Shows previously hidden channel
Sends events:
channel.visible
channel.visible
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.ShowChannelRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec truncate_channel( String.t(), String.t(), ExStreamClient.Model.TruncateChannelRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.TruncateChannelResponse.t()} | {:error, any()}
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:
type
id
payload
:Elixir.ExStreamClient.Model.TruncateChannelRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec update_channel( String.t(), String.t(), ExStreamClient.Model.UpdateChannelRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.UpdateChannelResponse.t()} | {:error, any()}
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:
type
id
payload
:Elixir.ExStreamClient.Model.UpdateChannelRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec update_channel_partial( String.t(), String.t(), ExStreamClient.Model.UpdateChannelPartialRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.UpdateChannelPartialResponse.t()} | {:error, any()}
Updates certain fields of the channel
Sends events:
channel.updated
channel.updated
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.UpdateChannelPartialRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec update_member_partial( String.t(), String.t(), ExStreamClient.Model.UpdateMemberPartialRequest.t(), [{:user_id, String.t()} | shared_opts()] ) :: {:ok, ExStreamClient.Model.UpdateMemberPartialResponse.t()} | {:error, any()}
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.UpdateMemberPartialRequest
Optional Arguments:
user_id
- All options from Shared Options are supported.
@spec upload_file( String.t(), String.t(), ExStreamClient.Model.FileUploadRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.FileUploadResponse.t()} | {:error, any()}
Uploads file
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.FileUploadRequest
Optional Arguments:
- All options from Shared Options are supported.
@spec upload_image( String.t(), String.t(), ExStreamClient.Model.ImageUploadRequest.t(), shared_opts() ) :: {:ok, ExStreamClient.Model.ImageUploadResponse.t()} | {:error, any()}
Uploads image
Required Arguments:
type
id
payload
:Elixir.ExStreamClient.Model.ImageUploadRequest
Optional Arguments:
- All options from Shared Options are supported.