ChannelService
The ChannelService provides data and interaction for the channel list and message list.
Properties
activeChannel$
activeChannel$: Observable<undefined | Channel>
Emits the currently active channel.
:::important If you want to subscribe to channel events, you need to manually reenter Angular's change detection zone, our Change detection guide explains this in detail. :::
The active channel will always be marked as read when a new message is received
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:89
activeChannelLastReadMessageId
Optional activeChannelLastReadMessageId: string
The last read message id of the active channel, it's used by the message list component to display unread UI, and jump to latest read message
This property isn't always updated, please use channel.read to display up-to-date read information
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:149
activeChannelMessages$
activeChannelMessages$: Observable<StreamMessage[]>
Emits the list of currently loaded messages of the active channel.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:93
activeChannelMessagesPaginationState$
activeChannelMessagesPaginationState$: Observable<MessageListPaginationState>
Emits the pagination state (loading, has more older/newer messages, last error) of the active channel's message list.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:97
activeChannelPinnedMessages$
activeChannelPinnedMessages$: Observable<StreamMessage[]>
Emits the list of pinned messages of the active channel.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:105
activeChannelUnreadCount
Optional activeChannelUnreadCount: number
The unread count of the active channel, it's used by the message list component to display unread UI
This property isn't always updated, please use channel.read to display up-to-date read information
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:155
activeParentMessage$
activeParentMessage$: Observable<undefined | StreamMessage>
Emits the currently selected parent message. If no message is selected, it emits undefined.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:117
activeParentMessageId$
activeParentMessageId$: Observable<undefined | string>
Emits the id of the currently selected parent message. If no message is selected, it emits undefined.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:109
activeThreadMessages$
activeThreadMessages$: Observable<StreamMessage[]>
Emits the list of currently loaded thread replies belonging to the selected parent message. If there is no currently active thread it emits an empty array.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:113
activeThreadMessagesPaginationState$
activeThreadMessagesPaginationState$: Observable<MessageListPaginationState>
Emits the pagination state (loading, has more older/newer replies, last error) of the active thread's message list.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:101
beforeSendMessage
Optional beforeSendMessage: (input: MessageInput) => MessageInput | Promise<MessageInput>
The provided method will be called before a new message is sent to Stream's API. You can use this hook to tranfrom or enrich the message being sent.
Type declaration
(input): MessageInput | Promise<MessageInput>
Parameters
| Name | Type |
|---|---|
input |
MessageInput |
Returns
MessageInput | Promise<MessageInput>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:319
beforeUpdateMessage
Optional beforeUpdateMessage: (message: StreamMessage) => StreamMessage | Promise<StreamMessage>
The provided method will be called before a message is sent to Stream's API for update. You can use this hook to tranfrom or enrich the message being updated.
Type declaration
(message): StreamMessage | Promise<StreamMessage>
Parameters
| Name | Type |
|---|---|
message |
StreamMessage |
Returns
StreamMessage | Promise<StreamMessage>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:325
bouncedMessage$
bouncedMessage$: BehaviorSubject<undefined | StreamMessage>
If you're using semantic filters for moderation you can set up rules for bouncing messages.
If a message is bounced, it will be emitted via this Observable. The built-in MessageBouncePrompt component will display the bounce option to the user if a bounced message is clicked.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:143
channelQueryState$
channelQueryState$: Observable<undefined | ChannelQueryState>
The result of the latest channel query request.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:79
channelSwitchState$
channelSwitchState$: Observable<"end" | "start">
Since switching channels changes the state of multiple obserables, this observable can be used to check if all observables are updated.
endmeans all observables are in stable statestartmeans all observables are in unstable state
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:333
channels$
channels$: Observable<undefined | Channel[]>
Emits the currently loaded and watched channel list.
:::important If you want to subscribe to channel events, you need to manually reenter Angular's change detection zone, our Change detection guide explains this in detail. :::
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:75
customAddedToChannelNotificationHandler
Optional customAddedToChannelNotificationHandler: (clientEvent: ClientEvent, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void) => void
Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(clientEvent, channelListSetter): void
Parameters
| Name | Type |
|---|---|
clientEvent |
ClientEvent |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:173
customChannelDeletedHandler
Optional customChannelDeletedHandler: (event: Event, channel: Channel, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: undefined | StreamMessage) => void) => void
Custom event handler to call when a channel is deleted, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(event, channel, channelListSetter, messageListSetter, threadListSetter, parentMessageSetter): void
Parameters
| Name | Type |
|---|---|
event |
Event |
channel |
Channel |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
messageListSetter |
(messages: StreamMessage[]) => void |
threadListSetter |
(messages: StreamMessage[]) => void |
parentMessageSetter |
(message: undefined | StreamMessage) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:197
customChannelHiddenHandler
Optional customChannelHiddenHandler: (event: Event, channel: Channel, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: undefined | StreamMessage) => void) => void
Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(event, channel, channelListSetter, messageListSetter, threadListSetter, parentMessageSetter): void
Parameters
| Name | Type |
|---|---|
event |
Event |
channel |
Channel |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
messageListSetter |
(messages: StreamMessage[]) => void |
threadListSetter |
(messages: StreamMessage[]) => void |
parentMessageSetter |
(message: undefined | StreamMessage) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:245
customChannelTruncatedHandler
Optional customChannelTruncatedHandler: (event: Event, channel: Channel, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: undefined | StreamMessage) => void) => void
Custom event handler to call when a channel is truncated, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(event, channel, channelListSetter, messageListSetter, threadListSetter, parentMessageSetter): void
Parameters
| Name | Type |
|---|---|
event |
Event |
channel |
Channel |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
messageListSetter |
(messages: StreamMessage[]) => void |
threadListSetter |
(messages: StreamMessage[]) => void |
parentMessageSetter |
(message: undefined | StreamMessage) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:229
customChannelUpdatedHandler
Optional customChannelUpdatedHandler: (event: Event, channel: Channel, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: undefined | StreamMessage) => void) => void
Custom event handler to call when a channel is updated, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(event, channel, channelListSetter, messageListSetter, threadListSetter, parentMessageSetter): void
Parameters
| Name | Type |
|---|---|
event |
Event |
channel |
Channel |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
messageListSetter |
(messages: StreamMessage[]) => void |
threadListSetter |
(messages: StreamMessage[]) => void |
parentMessageSetter |
(message: undefined | StreamMessage) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:213
customChannelVisibleHandler
Optional customChannelVisibleHandler: (event: Event, channel: Channel, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: undefined | StreamMessage) => void) => void
Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(event, channel, channelListSetter, messageListSetter, threadListSetter, parentMessageSetter): void
Parameters
| Name | Type |
|---|---|
event |
Event |
channel |
Channel |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
messageListSetter |
(messages: StreamMessage[]) => void |
threadListSetter |
(messages: StreamMessage[]) => void |
parentMessageSetter |
(message: undefined | StreamMessage) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:261
customFileDeleteRequest
Optional customFileDeleteRequest: (url: string, channel: Channel) => Promise<void>
You can override the default file delete request - override this if you use your own CDN
Type declaration
(url, channel): Promise<void>
Parameters
| Name | Type |
|---|---|
url |
string |
channel |
Channel |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:305
customFileUploadRequest
Optional customFileUploadRequest: (file: File, channel: Channel) => Promise<{ file: string }>
You can override the default file upload request - you can use this to upload files to your own CDN
Type declaration
(file, channel): Promise<{ file: string }>
Parameters
| Name | Type |
|---|---|
file |
File |
channel |
Channel |
Returns
Promise<{ file: string }>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:291
customImageDeleteRequest
Optional customImageDeleteRequest: (url: string, channel: Channel) => Promise<void>
You can override the default image delete request - override this if you use your own CDN
Type declaration
(url, channel): Promise<void>
Parameters
| Name | Type |
|---|---|
url |
string |
channel |
Channel |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:309
customImageUploadRequest
Optional customImageUploadRequest: (file: File, channel: Channel) => Promise<{ file: string }>
You can override the default image upload request - you can use this to upload images to your own CDN
Type declaration
(file, channel): Promise<{ file: string }>
Parameters
| Name | Type |
|---|---|
file |
File |
channel |
Channel |
Returns
Promise<{ file: string }>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:298
customNewMessageHandler
Optional customNewMessageHandler: (event: Event, channel: Channel, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: undefined | StreamMessage) => void) => void
Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(event, channel, channelListSetter, messageListSetter, threadListSetter, parentMessageSetter): void
Parameters
| Name | Type |
|---|---|
event |
Event |
channel |
Channel |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
messageListSetter |
(messages: StreamMessage[]) => void |
threadListSetter |
(messages: StreamMessage[]) => void |
parentMessageSetter |
(message: undefined | StreamMessage) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:277
customNewMessageNotificationHandler
Optional customNewMessageNotificationHandler: (clientEvent: ClientEvent, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void) => void
Custom event handler to call if a new message received from a channel that is not being watched, provide an event handler if you want to override the default channel list ordering
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(clientEvent, channelListSetter): void
Parameters
| Name | Type |
|---|---|
clientEvent |
ClientEvent |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:161
customRemovedFromChannelNotificationHandler
Optional customRemovedFromChannelNotificationHandler: (clientEvent: ClientEvent, channelListSetter: (channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void) => void
Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the default channel list ordering.
If you're adding a new channel, make sure that it's a watched channel.
Type declaration
(clientEvent, channelListSetter): void
Parameters
| Name | Type |
|---|---|
clientEvent |
ClientEvent |
channelListSetter |
(channels: Channel[], shouldStopWatchingRemovedChannels?: boolean) => void |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:185
hasMoreChannels$
hasMoreChannels$: Observable<boolean>
Emits false if there are no more pages of channels that can be loaded.
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:67
jumpToMessage$
jumpToMessage$: Observable<{ id?: string ; parentId?: string }>
Emits the ID of the message the message list should jump to (can be a channel message or thread message)
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:125
latestMessageDateByUserByChannels$
latestMessageDateByUserByChannels$: Observable<{ [key: string]: Date; }>
Emits a map that contains the date of the latest message sent by the current user by channels (this is used to detect if slow mode countdown should be started)
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:137
messageDeleteConfirmationHandler
Optional messageDeleteConfirmationHandler: (message: StreamMessage) => Promise<boolean>
The provided method will be called before deleting a message. If the returned Promise resolves to true to deletion will go ahead. If false is returned, the message won't be deleted.
Type declaration
(message): Promise<boolean>
Parameters
| Name | Type |
|---|---|
message |
StreamMessage |
Returns
Promise<boolean>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:313
messageToQuote$
messageToQuote$: Observable<undefined | StreamMessage>
Emits the currently selected message to quote
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:121
usersTypingInChannel$
usersTypingInChannel$: Observable<UserResponse[]>
Emits the list of users that are currently typing in the channel (current user is not included)
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:129
usersTypingInThread$
usersTypingInThread$: Observable<UserResponse[]>
Emits the list of users that are currently typing in the active thread (current user is not included)
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:133
Accessors
activeChannel
get activeChannel(): undefined | Channel
The current active channel
Returns
undefined | Channel
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1960
activeChannelMessages
get activeChannelMessages(): (MessageResponse | LocalMessage | StreamMessage)[]
The current active channel messages
Returns
(MessageResponse | LocalMessage | StreamMessage)[]
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1967
activeChannelThreadReplies
get activeChannelThreadReplies(): (MessageResponse | LocalMessage | StreamMessage)[]
The current thread replies
Returns
(MessageResponse | LocalMessage | StreamMessage)[]
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1974
channels
get channels(): Channel[]
The current list of channels
Returns
Channel[]
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1953
customPaginator
set customPaginator(paginator): void
By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method.
The method will be called with the result of the latest channel query.
You can return either an offset, or a filter using the $lte/$gte operator. If you return a filter, it will be merged with the filter provided for the init method.
Parameters
| Name | Type |
|---|---|
paginator |
undefined | (channelQueryResult: Channel[]) => NextPageConfiguration |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:630
shouldMarkActiveChannelAsRead
get shouldMarkActiveChannelAsRead(): boolean
If set to false, read events won't be sent as new messages are received. If set to true active channel (if any) will immediately be marked as read.
Returns
boolean
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:595
set shouldMarkActiveChannelAsRead(shouldMarkActiveChannelAsRead): void
If set to false, read events won't be sent as new messages are received. If set to true active channel (if any) will immediately be marked as read.
Parameters
| Name | Type |
|---|---|
shouldMarkActiveChannelAsRead |
boolean |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:602
Methods
addChannel
addChannel(channel): void
Add a new channel to the channel list The channel will be added to the beginning of the channel list
Parameters
| Name | Type |
|---|---|
channel |
Channel |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1297
addReaction
addReaction(messageId, reactionType, customData?): Promise<void>
Adds a reaction to a message.
Parameters
| Name | Type | Description |
|---|---|---|
messageId |
string |
The id of the message to add the reaction to |
reactionType |
string |
The type of the reaction |
customData? |
CustomReactionData |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:951
autocompleteMembers
autocompleteMembers(searchTerm): Promise<ChannelMemberResponse[]>
Returns the autocomplete options for current channel members. If member_count is equal to the number of members in the channel, it returns the channel members, otherwise sends a search request with the given search term.
Parameters
| Name | Type | Description |
|---|---|---|
searchTerm |
string |
Text to search for in the names of members |
Returns
Promise<ChannelMemberResponse[]>
The list of members matching the search filter
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1222
clearMessageJump
clearMessageJump(): void
Clears the currently selected message to jump
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1511
deleteAttachment
deleteAttachment(attachmentUpload): Promise<void>
Deletes an uploaded file by URL. If you want to know more about file uploads check out the platform documentation
Parameters
| Name | Type | Description |
|---|---|---|
attachmentUpload |
AttachmentUpload |
Attachment to be deleted (output of the AttachmentService) |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1206
deleteMessage
deleteMessage(message, isLocalDelete?): Promise<void>
Deletes the message from the active channel
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
message |
StreamMessage |
undefined |
Message to be deleted |
isLocalDelete |
boolean |
false |
set this true if you want to delete a message that's only part of the local state, not yet saved on the backend |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1099
deselectActiveChannel
deselectActiveChannel(): void
Deselects the currently active (if any) channel
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:682
getMessageReactions
getMessageReactions(messageId): Promise<ReactionResponse[]>
Get the last 1200 reactions of a message in the current active channel. If you need to fetch more reactions please use the following endpoint.
Parameters
| Name | Type |
|---|---|
messageId |
string |
Returns
Promise<ReactionResponse[]>
all reactions of a message
Deprecated
use messageReactionsService.queryReactions() instead
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1984
init
init(filters, sort?, options?, shouldSetActiveChannel?): Promise<Channel[]>
Queries the channels with the given filters, sorts and options. More info about channel querying can be found in the platform documentation. By default the first channel in the list will be set as active channel and will be marked as read.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
filters |
{ custom.image: undefined | null | string | RequireOnlyOne<{ $autocomplete: string ; $contains: string ; $eq: null | string ; $exists: boolean ; $gt: string ; $gte: string ; $in: string[] ; $lt: string ; $lte: string ; $q: string }, "$eq" | "$in" | "$gte" | "$exists" | "$gt" | "$lt" | "$lte" | "$autocomplete" | "$contains" | "$q"> ; custom.name: undefined | null | string | RequireOnlyOne<{ $autocomplete: string ; $contains: string ; $eq: null | string ; $exists: boolean ; $gt: string ; $gte: string ; $in: string[] ; $lt: string ; $lte: string ; $q: string }, "$eq" | "$in" | "$gte" | "$exists" | "$gt" | "$lt" | "$lte" | "$autocomplete" | "$contains" | "$q"> } & QueryLogicalOperators<{ custom.image: null | string | RequireOnlyOne<{ $autocomplete: string ; $contains: string ; $eq: null | string ; $exists: boolean ; $gt: string ; $gte: string ; $in: string[] ; $lt: string ; $lte: string ; $q: string }, "$eq" | "$in" | "$gte" | "$exists" | "$gt" | "$lt" | "$lte" | "$autocomplete" | "$contains" | "$q"> ; custom.name: null | string | RequireOnlyOne<{ $autocomplete: string ; $contains: string ; $eq: null | string ; $exists: boolean ; $gt: string ; $gte: string ; $in: string[] ; $lt: string ; $lte: string ; $q: string }, "$eq" | "$in" | "$gte" | "$exists" | "$gt" | "$lt" | "$lte" | "$autocomplete" | "$contains" | "$q"> }> |
undefined |
|
sort? |
SortParamRequest[] |
undefined |
The sort in the format expected by stream-chat, for example [{ field: 'last_message_at', direction: -1 }] |
options? |
ChannelOptions |
undefined |
|
shouldSetActiveChannel |
boolean |
true |
Decides if the first channel in the result should be made as an active channel or not. |
Returns
Promise<Channel[]>
the list of channels found by the query
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:875
initWithCustomQuery
initWithCustomQuery(query, options?): Promise<Channel[]>
Queries the channels with the given query function. More info about channel querying can be found in the platform documentation.
Parameters
| Name | Type | Description |
|---|---|---|
query |
(queryType: ChannelQueryType) => Promise<ChannelQueryResult> |
|
options |
Object |
|
options.messagePageSize |
number |
How many messages should we load? The default is 25 |
options.shouldSetActiveChannel |
boolean |
The shouldSetActiveChannel specifies if the first channel in the result should be selected as the active channel or not. Default is true. |
Returns
Promise<Channel[]>
the channels that were loaded
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:911
jumpToFirstUnreadMessage
jumpToFirstUnreadMessage(): Promise<boolean>
Jumps to the first unread message of the active channel, if the message is not yet loaded, it'll load the message (and it's surroundings) from the API.
Returns
Promise<boolean>
true if the jump was successful
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1470
jumpToMessage
jumpToMessage(messageId, parentMessageId?): Promise<void>
Jumps to the selected message inside the message list, if the message is not yet loaded, it'll load the message (and it's surroundings) from the API.
Parameters
| Name | Type | Description |
|---|---|---|
messageId |
string |
The ID of the message to be loaded, 'latest' means jump to the latest messages |
parentMessageId? |
string |
The ID of the parent message if we want to load a thread message |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1403
loadMoreChannels
loadMoreChannels(): Promise<void>
Loads the next page of channels. The page size can be set in the query option object.
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:941
loadMoreMessages
loadMoreMessages(direction?): false | Promise<void>
Loads the next page of messages of the active channel.
Parameters
| Name | Type | Default value |
|---|---|---|
direction |
"older" | "newer" |
'older' |
Returns
false | Promise<void>
false if there are no more messages to load in the given direction, otherwise a Promise that resolves when the page is loaded
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:818
loadMoreThreadReplies
loadMoreThreadReplies(direction?): false | Promise<void>
Loads the next page of messages of the active thread.
Parameters
| Name | Type | Default value |
|---|---|---|
direction |
"older" | "newer" |
'older' |
Returns
false | Promise<void>
false if there are no more replies to load in the given direction, otherwise a Promise that resolves when the page is loaded
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:831
markMessageUnread
markMessageUnread(messageId): Promise<undefined | StreamResponse<Response>>
Marks the channel from the given message as unread
Parameters
| Name | Type |
|---|---|
messageId |
string |
Returns
Promise<undefined | StreamResponse<Response>>
the result of the request
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:2020
pinMessage
pinMessage(message): Promise<void>
Pins the given message in the channel
Parameters
| Name | Type |
|---|---|
message |
StreamMessage |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1519
reloadActiveChannelMessages
reloadActiveChannelMessages(): Promise<void>
Retries loading the messages of the active channel (for example after a failed request)
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1920
removeChannel
removeChannel(cid, shouldStopWatching?): void
Parameters
| Name | Type | Default value |
|---|---|---|
cid |
string |
undefined |
shouldStopWatching |
boolean |
true |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1309
removeReaction
removeReaction(messageId, reactionType): Promise<void>
Removes a reaction from a message.
Parameters
| Name | Type | Description |
|---|---|---|
messageId |
string |
The id of the message to remove the reaction from |
reactionType |
string |
Thr type of reaction to remove |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:972
resendMessage
resendMessage(message): Promise<StreamMessage>
Resends the given message to the active channel
Parameters
| Name | Type | Description |
|---|---|---|
message |
StreamMessage |
The message to resend |
Returns
Promise<StreamMessage>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1030
reset
reset(): void
Resets the activeChannel$, channels$ and activeChannelMessages$ Observables. Useful when disconnecting a chat user, use in combination with disconnectUser.
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:925
selectMessageToQuote
selectMessageToQuote(message): void
Selects or deselects the current message to quote reply to
Parameters
| Name | Type | Description |
|---|---|---|
message |
undefined | MessageResponse | LocalMessage | StreamMessage |
The message to select, if called with undefined, it deselects the message |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1282
sendAction
sendAction(messageId, formData, parentMessageId?): Promise<void>
Runs a message action in the current channel. Updates the message list based on the action result (if no message is returned, the message will be removed from the message list).
Parameters
| Name | Type |
|---|---|
messageId |
string |
formData |
Record<string, string> |
parentMessageId? |
string |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1258
sendMessage
sendMessage(text, attachments?, mentionedUsers?, parentId?, quotedMessageId?, customData?, pollId?): Promise<StreamMessage>
Sends a message to the active channel. The message is immediately added to the message list, if an error occurs and the message can't be sent, the error is indicated in state of the message.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
text |
string |
undefined |
The text of the message |
attachments |
Attachment[] |
[] |
The attachments |
mentionedUsers |
UserResponse[] |
[] |
Mentioned users |
parentId |
undefined | string |
undefined |
Id of the parent message (if sending a thread reply) |
quotedMessageId |
undefined | string |
undefined |
Id of the message to quote (if sending a quote reply) |
customData |
undefined | CustomMessageData |
undefined |
|
pollId |
undefined | string |
undefined |
Id of the poll (if sending a poll message) |
Returns
Promise<StreamMessage>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:988
setAsActiveChannel
setAsActiveChannel(channel): void
Sets the given channel as active and marks it as read.
If the channel wasn't previously part of the channel, it will be added to the beginning of the list.
Parameters
| Name | Type |
|---|---|
channel |
Channel |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:646
setAsActiveParentMessage
setAsActiveParentMessage(message, _loadMessagesForm?): Promise<void>
Sets the given message as an active parent message. If undefined is provided, it will deleselect the current parent message.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
message |
undefined | StreamMessage |
undefined |
|
_loadMessagesForm |
"state" | "request" |
'request' |
deprecated, thread replies are always loaded through the thread's message paginator |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:716
typingStarted
typingStarted(parentId?): Promise<void>
Call this method if user started typing in the active channel
Parameters
| Name | Type | Description |
|---|---|---|
parentId? |
string |
The id of the parent message, if user is typing in a thread |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1936
typingStopped
typingStopped(parentId?): Promise<void>
Call this method if user stopped typing in the active channel
Parameters
| Name | Type | Description |
|---|---|---|
parentId? |
string |
The id of the parent message, if user were typing in a thread |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1945
unpinMessage
unpinMessage(message): Promise<void>
Removes the given message from pinned messages
Parameters
| Name | Type |
|---|---|
message |
StreamMessage |
Returns
Promise<void>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1538
updateMessage
updateMessage(message): Promise<StreamMessage>
Updates the message in the active channel
Parameters
| Name | Type | Description |
|---|---|---|
message |
StreamMessage |
Mesage to be updated |
Returns
Promise<StreamMessage>
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1045
uploadAttachments
uploadAttachments(uploads): Promise<AttachmentUpload[]>
Uploads files to the channel. If you want to know more about file uploads check out the platform documentation.
Parameters
| Name | Type | Description |
|---|---|---|
uploads |
AttachmentUpload[] |
the attachments to upload (output of the AttachmentService) |
Returns
Promise<AttachmentUpload[]>
the result of file upload requests
Defined in
projects/stream-chat-angular/src/lib/channel.service.ts:1124