OpenChannel

class OpenChannel : BaseChannel

Represents an open channel.

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
fun addMessageMetaArrayValues(message: BaseMessage, metaArrays: List<MessageMetaArray>, handler: BaseMessageHandler?)

Adds message meta array values.

Link copied to clipboard
fun addOperators(userIds: Collection<String>, handler: CompletionHandler?)

Add operators to the channel. See [

Link copied to clipboard
fun addReaction(message: BaseMessage, key: String, handler: ReactionHandler?)

Adds Reaction.

Link copied to clipboard
fun banUser(user: User, seconds: Int, handler: CompletionHandler?)
fun banUser(userId: String, seconds: Int, handler: CompletionHandler?)

Bans a participant. Operators can ban participants from this channel. Banned participant is kicked out of this channel and cannot enter during the specified seconds. If you want to ban the user indefinitely, pass -1 to seconds as the argument.

Link copied to clipboard
fun cancelFileMessageUpload(requestId: String): Boolean

Cancels an ongoing FileMessage upload.

Link copied to clipboard
fun copyFileMessage(targetChannel: BaseChannel, fileMessage: FileMessage, handler: FileMessageHandler?): FileMessage?

Copies a file message from this channel to the target channel.

Link copied to clipboard
fun copyUserMessage(targetChannel: BaseChannel, userMessage: UserMessage, handler: UserMessageHandler?): UserMessage?

Copies a user message from this channel to the target channel.

Link copied to clipboard
fun createBannedUserListQuery(limit: Int = QUERY_DEFAULT_LIMIT): BannedUserListQuery

Creates a query instance to get the banned user list from this channel.

Link copied to clipboard
fun createMessageMetaArrayKeys(message: BaseMessage, metaArrayKeys: List<String>, handler: BaseMessageHandler?)

Creates message meta array keys.

Link copied to clipboard
fun createMetaCounters(metaCounterMap: Map<String, Int>, handler: MetaCounterHandler?)

Creates meta counters. This can be used to customize the channel.

Link copied to clipboard
fun createMetaData(metaDataMap: Map<String, String>, handler: MetaDataHandler?)

Creates meta data. This can be used to customize the channel.

Link copied to clipboard
fun createMutedUserListQuery(limit: Int = QUERY_DEFAULT_LIMIT): MutedUserListQuery

Creates a query instance to get the muted user (online and offline both) list of this channel.

Link copied to clipboard
fun createOperatorListQuery(limit: Int = QUERY_DEFAULT_LIMIT): OperatorListQuery

Creates a query instance to get the operator list from this channel.

Link copied to clipboard
fun createParticipantListQuery(limit: Int = QUERY_DEFAULT_LIMIT): ParticipantListQuery

Creates a query instance to get the whole participant list (online only) of this channel.

Link copied to clipboard

Creates previous message list query for this channel.

Link copied to clipboard
fun decreaseMetaCounters(metaCounterMap: Map<String, Int>, handler: MetaCounterHandler?)

Decreases meta counters. This decreases atomically the keyed meta counter by the specified value.

Link copied to clipboard
fun delete(handler: CompletionHandler?)

Deletes an OpenChannel. Note that only operators of a channel are able to delete it or else, an error will be returned to the handler.

Link copied to clipboard
fun deleteAllMetaCounters(handler: CompletionHandler?)

Deletes all meta counters.

Link copied to clipboard
fun deleteAllMetaData(handler: CompletionHandler?)

Deletes all meta data.

Link copied to clipboard
fun deleteMessage(message: BaseMessage, handler: CompletionHandler?)

Deletes a message.

fun deleteMessage(messageId: Long, handler: CompletionHandler?)

Deletes a message with message ID.

Link copied to clipboard
fun deleteMessageMetaArrayKeys(message: BaseMessage, metaArrayKeys: List<String>, handler: BaseMessageHandler?)

Deletes message meta array keys.

Link copied to clipboard
fun deleteMetaCounter(key: String, handler: CompletionHandler?)

Deletes a meta counter.

Link copied to clipboard
fun deleteMetaData(key: String, handler: CompletionHandler?)

Deletes a meta data.

Link copied to clipboard
fun deleteReaction(message: BaseMessage, key: String, handler: ReactionHandler?)

Deletes Reaction.

Link copied to clipboard
fun enter(handler: CompletionHandler?)

Enters this channel. The current User becomes a participant of this channel.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
fun exit(handler: CompletionHandler?)

Exits from this channel. The current User is no longer a participant of this channel.

Link copied to clipboard
fun getAllMetaCounters(handler: MetaCounterHandler?)

Get all meta counters.

Link copied to clipboard
fun getAllMetaData(handler: MetaDataHandler?)

Gets all meta data.

Link copied to clipboard
fun getMessageChangeLogsSinceTimestamp(ts: Long, params: MessageChangeLogsParams, handler: GetMessageChangeLogsHandler?)

Requests message change logs after given timestamp. The result is passed to handler.

Link copied to clipboard
fun getMessageChangeLogsSinceToken(token: String?, params: MessageChangeLogsParams, handler: GetMessageChangeLogsHandler?)

Requests message change logs after given token. The result is passed to handler.

Link copied to clipboard
fun getMessagesByMessageId(messageId: Long, params: MessageListParams, handler: BaseMessagesHandler?)

Retrieves previous or next messages based on the message ID in a specific channel. The result is passed to handler as list.

Link copied to clipboard
fun getMessagesByTimestamp(ts: Long, params: MessageListParams, handler: BaseMessagesHandler?)

Retrieves previous or next messages based on the timestamp in a specific channel. The result is passed to handler as list.

Link copied to clipboard
fun getMetaCounters(keys: Collection<String>, handler: MetaCounterHandler?)

Gets meta counters.

Link copied to clipboard
fun getMetaData(keys: Collection<String>, handler: MetaDataHandler?)

Gets meta data.

Link copied to clipboard
fun getMyMutedInfo(handler: MyMutedInfoHandler?)

Gets my muted information in this channel.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
fun increaseMetaCounters(metaCounterMap: Map<String, Int>, handler: MetaCounterHandler?)

Increases meta counters. This increases atomically the keyed meta counter by the specified value.

Link copied to clipboard
fun isOperator(user: User?): Boolean
fun isOperator(userId: String): Boolean

Checks if the given User is an operator of this channel.

Link copied to clipboard
fun muteUser(user: User, handler: CompletionHandler?)
fun muteUser(userId: String, handler: CompletionHandler?)

Mutes User. Muted User's messages are no longer delivered to current User.

fun muteUser(user: User, description: String?, seconds: Int, handler: CompletionHandler?)
fun muteUser(userId: String, description: String?, seconds: Int, handler: CompletionHandler?)

Mutes User. Muted User's messages are no longer delivered to current User. If you want to mute the user indefinitely, pass -1 to seconds as the argument. Or you can use muteUser.

Link copied to clipboard
fun refresh(handler: CompletionHandler?)

Refreshes all the data of this channel.

Link copied to clipboard
fun removeAllOperators(handler: CompletionHandler?)

Remove all operators from the channel. See https://docs.sendbird.com/platform/user_type#3_operator for the explanations on the operators.

Link copied to clipboard
fun removeMessageMetaArrayValues(message: BaseMessage, metaArrays: List<MessageMetaArray>, handler: BaseMessageHandler?)

Removes message meta array values.

Link copied to clipboard
fun removeOperators(userIds: Collection<String>, handler: CompletionHandler?)

Remove operators from the channel. See [

Link copied to clipboard
fun report(reportCategory: ReportCategory, reportDescription: String?, handler: CompletionHandler?)

Reports this channel of inappropriate activities.

Link copied to clipboard
fun reportMessage(message: BaseMessage, reportCategory: ReportCategory, reportDescription: String?, handler: CompletionHandler?)

Reports a malicious message.

Link copied to clipboard
fun reportUser(offendingUser: User, reportCategory: ReportCategory, reportDescription: String?, handler: CompletionHandler?)

Reports a user of suspicious activities.

Link copied to clipboard
fun resendFileMessage(fileMessage: FileMessage, file: File?, handler: FileMessageHandler?)

Resends a file with given file information.

fun resendFileMessage(fileMessage: FileMessage, file: File?, handler: FileMessageWithProgressHandler?)

Resends a file with given file information and gets callback for uploading progress.

Link copied to clipboard
fun resendMessage(userMessage: UserMessage, handler: UserMessageHandler?): UserMessage

Resends a failed user message.

fun resendMessage(fileMessage: FileMessage, file: File?, handler: FileMessageHandler?): FileMessage?

Resends a file with given file information.

fun resendMessage(fileMessage: FileMessage, file: File?, handler: FileMessageWithProgressHandler?): FileMessage?

Resends a file with given file information and gets callback for uploading progress.

Link copied to clipboard
fun resendUserMessage(userMessage: UserMessage, handler: UserMessageHandler?)

Resends a failed user message.

Link copied to clipboard
fun sendFileMessage(params: FileMessageCreateParams, handler: FileMessageHandler?): FileMessage?

Sends a file with given file information.

fun sendFileMessage(params: FileMessageCreateParams, handler: FileMessageWithProgressHandler?): FileMessage?

Sends a file with given file information and gets callback for uploading progress.

Link copied to clipboard
fun sendFileMessages(paramsList: List<FileMessageCreateParams>, handler: FileMessagesHandler?): List<FileMessage>

Sends files with given files information. The maximum number of files is 20.

fun sendFileMessages(paramsList: List<FileMessageCreateParams>, handler: FileMessagesWithProgressHandler?): List<FileMessage>

Sends files with given files information and gets callback for uploading progress. The maximum number of files is 20. This method handles FileMessageCreateParams only which have set binary file not URL.

Link copied to clipboard
fun sendUserMessage(params: UserMessageCreateParams, handler: UserMessageHandler?): UserMessage
fun sendUserMessage(message: String, handler: UserMessageHandler?): UserMessage

Sends a user message.

Link copied to clipboard
fun serialize(): ByteArray

Serializes the GroupChannel or OpenChannel instance. This byte array can be stored in the database in your application. The instance can be restored by buildFromSerializedData.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
fun translateUserMessage(userMessage: UserMessage, targetLanguages: List<String>, handler: UserMessageHandler?)

Translates a user message.

Link copied to clipboard
fun unbanUser(user: User, handler: CompletionHandler?)
fun unbanUser(userId: String, handler: CompletionHandler?)

Unbans User. Operators can unban User who has been banned from this channel.

Link copied to clipboard
fun unmuteUser(user: User, handler: CompletionHandler?)
fun unmuteUser(userId: String, handler: CompletionHandler?)

Unmutes User. Unmuted User's messages are again shown to current User.

Link copied to clipboard
fun updateChannel(params: OpenChannelUpdateParams, handler: OpenChannelCallbackHandler?)

Update this channel with OpenChannelParams.

Link copied to clipboard
fun updateFileMessage(messageId: Long, params: FileMessageUpdateParams, handler: FileMessageHandler?)

Updates a FileMessage that was previously sent in the channel. Note that the file itself cannot be changed; only the fields stored within the message can be modified.

Link copied to clipboard
fun updateMetaCounters(metaCounterMap: Map<String, Int>, handler: MetaCounterHandler?)

Updates meta counters.

Link copied to clipboard
fun updateMetaData(metaDataMap: Map<String, String>, handler: MetaDataHandler?)

Updates meta data.

Link copied to clipboard
fun updateUserMessage(messageId: Long, params: UserMessageUpdateParams, handler: UserMessageHandler?)

Updates a UserMessage that was previously sent in the channel.

Properties

Link copied to clipboard
val cachedMetaData: Map<String, String>

All locally cached metadata as a map. Cached metadata is updated under following circumstances:

Link copied to clipboard
val channelType: ChannelType
Link copied to clipboard
var coverUrl: String

The cover image URL.

Link copied to clipboard
var createdAt: Long = 0

The creation time of the channel.

Link copied to clipboard
var customType: String? = null

The custom type of the channel. You can set custom type of this channel by createChannel or updateChannel.

Link copied to clipboard
var data: String

The channel data.

Link copied to clipboard
var isEphemeral: Boolean = false

Whether the channel is ephemeral.

Link copied to clipboard
var isFrozen: Boolean = false

Whether the channel is frozen.

Link copied to clipboard
val isGroupChannel: Boolean

Whether the instance is GroupChannel type.

Link copied to clipboard
val isOpenChannel: Boolean

Whether the instance is OpenChannel type.

Link copied to clipboard
var name: String

The topic or name of the channel.

Link copied to clipboard
val operators: List<User>

The operators of the channel.

Link copied to clipboard
var participantCount: Int = 0

The total number of participants in this channel.

Link copied to clipboard
var url: String

The unique channel URL.