ArchAstro.Channels.ApiChat (archastro v0.2.0)

Copy Markdown

Channel for real-time chat messaging.

Supports team-scoped and user-scoped threads with keyed, transient, and direct thread access patterns.

Summary

Functions

Functions

api_chat_add_reaction(channel, payload, timeout \\ 5000)

api_chat_delete_message(channel, payload, timeout \\ 5000)

api_chat_edit_message(channel, payload, timeout \\ 5000)

api_chat_fork_thread(channel, payload, timeout \\ 5000)

api_chat_list_messages(channel, timeout \\ 5000)

api_chat_load_more_messages(channel, payload \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.ApiChatLoadMoreMessages.Input{}, timeout \\ 5000)

api_chat_mark_thread_read(channel, payload, timeout \\ 5000)

api_chat_post_message(channel, payload, timeout \\ 5000)

api_chat_post_simple_message(channel, payload \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.ApiChatPostSimpleMessage.Input{}, timeout \\ 5000)

api_chat_remove_reaction(channel, payload, timeout \\ 5000)

api_chat_typing(channel, payload, timeout \\ 5000)

join_team_keyed(socket, team_id, key, params \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.JoinTeamKeyed.Params{})

join_team_thread(socket, team_id, thread_id, params \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.JoinTeamThread.Params{})

join_team_transient(socket, team_id, key, params \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.JoinTeamTransient.Params{})

join_user_keyed(socket, key, params \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.JoinUserKeyed.Params{})

join_user_thread(socket, thread_id, params \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.JoinUserThread.Params{})

join_user_transient(socket, key, params \\ %ArchAstro.Types.ChannelPayloads.ApiChatChannel.JoinUserTransient.Params{})

leave(channel)

@spec leave(ArchAstro.Channel.t()) :: :ok | {:error, ArchAstro.Error.reason()}

subscribe_message_added(channel, subscriber \\ self())

@spec subscribe_message_added(ArchAstro.Channel.t(), pid()) :: :ok

subscribe_message_updated(channel, subscriber \\ self())

@spec subscribe_message_updated(ArchAstro.Channel.t(), pid()) :: :ok

subscribe_system_event(channel, subscriber \\ self())

@spec subscribe_system_event(ArchAstro.Channel.t(), pid()) :: :ok

subscribe_thread_event(channel, subscriber \\ self())

@spec subscribe_thread_event(ArchAstro.Channel.t(), pid()) :: :ok

subscribe_typing(channel, subscriber \\ self())

@spec subscribe_typing(ArchAstro.Channel.t(), pid()) :: :ok