ExStreamClient.Operations.Chat.Channels (ExStreamClient v0.1.1)
View SourceModules for interacting with the `chat/channels` group of OpenAI APIs
API Reference: https://platform.openai.com/docs/api-reference/chat/channels
Summary
Functions
@spec delete_channel(String.t(), String.t(), [{:hard_delete, boolean()}]) :: {:ok, ExStreamClient.Model.DeleteChannelResponse.t()} | {:error, any()}
Deletes channel
Sends events:
channel.deleted
channel.deleted
### Required Arguments:
- `type` - `id`
### Optional Arguments:
- `hard_delete`
@spec delete_channels(ExStreamClient.Model.DeleteChannelsRequest.t()) :: {:ok, ExStreamClient.Model.DeleteChannelsResponse.t()} | {:error, any()}
Allows to delete several channels at once asynchronously
Sends events:
channel.deleted
channel.deleted
### Required Arguments:
- `payload`: DeleteChannelsRequest
@spec delete_draft(String.t(), String.t(), user_id: String.t(), parent_id: 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`
@spec delete_file(String.t(), String.t(), [{:url, String.t()}]) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}
Deletes previously uploaded file
### Required Arguments:
- `type`
- `id`
### Optional Arguments:
- `url`
@spec delete_image(String.t(), String.t(), [{:url, String.t()}]) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}
Deletes previously uploaded image
### Required Arguments:
- `type`
- `id`
### Optional Arguments:
- `url`
@spec get_draft(String.t(), String.t(), user_id: String.t(), parent_id: String.t()) :: {:ok, ExStreamClient.Model.GetDraftResponse.t()} | {:error, any()}
Get a draft
### Required Arguments:
- `type`
- `id`
### Optional Arguments:
- `parent_id`
- `user_id`
@spec get_many_messages(String.t(), String.t(), list()) :: {:ok, ExStreamClient.Model.GetManyMessagesResponse.t()} | {:error, any()}
Returns list messages found by IDs
### Required Arguments:
- `type`
- `id`
- `ids`
@spec get_or_create_channel( String.t(), String.t(), ExStreamClient.Model.ChannelGetOrCreateRequest.t() ) :: {: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`: ChannelGetOrCreateRequest
@spec get_or_create_distinct_channel( String.t(), ExStreamClient.Model.ChannelGetOrCreateRequest.t() ) :: {: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` - `payload`: ChannelGetOrCreateRequest
@spec hide_channel( String.t(), String.t(), ExStreamClient.Model.HideChannelRequest.t() ) :: {: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`: HideChannelRequest
@spec mark_channels_read(ExStreamClient.Model.MarkChannelsReadRequest.t()) :: {: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:
- `payload`: MarkChannelsReadRequest
@spec mark_read(String.t(), String.t(), ExStreamClient.Model.MarkReadRequest.t()) :: {: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`: MarkReadRequest
@spec mark_unread(String.t(), String.t(), ExStreamClient.Model.MarkUnreadRequest.t()) :: {:ok, ExStreamClient.Model.Response.t()} | {:error, any()}
Marks channel as unread from a specific message
### Required Arguments:
- `type`
- `id`
- `payload`: MarkUnreadRequest
@spec query_channels(ExStreamClient.Model.QueryChannelsRequest.t()) :: {:ok, ExStreamClient.Model.QueryChannelsResponse.t()} | {:error, any()}
Query channels with filter query
### Required Arguments:
- `payload`: QueryChannelsRequest
@spec send_event(String.t(), String.t(), ExStreamClient.Model.SendEventRequest.t()) :: {:ok, ExStreamClient.Model.EventResponse.t()} | {:error, any()}
Sends event to the channel
### Required Arguments:
- `type`
- `id`
- `payload`: SendEventRequest
@spec send_message( String.t(), String.t(), ExStreamClient.Model.SendMessageRequest.t() ) :: {: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`: SendMessageRequest
@spec show_channel( String.t(), String.t(), ExStreamClient.Model.ShowChannelRequest.t() ) :: {:ok, ExStreamClient.Model.ShowChannelResponse.t()} | {:error, any()}
Shows previously hidden channel
Sends events:
channel.visible
channel.visible
### Required Arguments:
- `type` - `id` - `payload`: ShowChannelRequest
@spec truncate_channel( String.t(), String.t(), ExStreamClient.Model.TruncateChannelRequest.t() ) :: {: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`: TruncateChannelRequest
@spec update_channel( String.t(), String.t(), ExStreamClient.Model.UpdateChannelRequest.t() ) :: {: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`: UpdateChannelRequest
@spec update_channel_partial( String.t(), String.t(), ExStreamClient.Model.UpdateChannelPartialRequest.t() ) :: {:ok, ExStreamClient.Model.UpdateChannelPartialResponse.t()} | {:error, any()}
Updates certain fields of the channel
Sends events:
channel.updated
channel.updated
### Required Arguments:
- `type` - `id` - `payload`: UpdateChannelPartialRequest
@spec update_member_partial( String.t(), String.t(), ExStreamClient.Model.UpdateMemberPartialRequest.t(), [{:user_id, String.t()}] ) :: {:ok, ExStreamClient.Model.UpdateMemberPartialResponse.t()} | {:error, any()}
### Required Arguments:
- `type`
- `id`
- `payload`: UpdateMemberPartialRequest
### Optional Arguments:
- `user_id`
@spec upload_file(String.t(), String.t(), ExStreamClient.Model.FileUploadRequest.t()) :: {:ok, ExStreamClient.Model.FileUploadResponse.t()} | {:error, any()}
Uploads file
### Required Arguments:
- `type`
- `id`
- `payload`: FileUploadRequest
@spec upload_image( String.t(), String.t(), ExStreamClient.Model.ImageUploadRequest.t() ) :: {:ok, ExStreamClient.Model.ImageUploadResponse.t()} | {:error, any()}
Uploads image
### Required Arguments:
- `type`
- `id`
- `payload`: ImageUploadRequest