DmInterface

interface DmInterface

Inheritors

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract fun addedByInboxId(): InboxId?
Link copied to clipboard
abstract suspend fun countMessages(options: ListMessagesOptions?): ULong
Link copied to clipboard
abstract fun createdAt(): Timestamp
Link copied to clipboard
abstract fun creatorInboxId(): InboxId?
Link copied to clipboard
abstract suspend fun debugInfo(): ConversationDebugInfo
Link copied to clipboard
abstract suspend fun deleteMessage(id: MessageId): MessageId
Link copied to clipboard
abstract suspend fun duplicateDms(): List<Dm>
Link copied to clipboard
abstract suspend fun hmacKeys(): List<HmacKey>
Link copied to clipboard
abstract fun id(): ConversationId
Link copied to clipboard
abstract fun isCreator(): Boolean
Link copied to clipboard
abstract fun kind(): ConversationKind
Link copied to clipboard
abstract suspend fun lastActivityAt(contentTypes: List<ContentTypeId>?): Timestamp
Link copied to clipboard
abstract suspend fun lastMessage(): Message?
Link copied to clipboard
abstract suspend fun lastReadTimes(): Map<String, Timestamp>
Link copied to clipboard
abstract suspend fun mapValue(field: MetadataFieldRef, key: FieldKey): FieldValue?

The value under key of the map field. An inbox ID key must be lowercase hex; any other spelling fails InvalidArgument.

Link copied to clipboard
abstract suspend fun members(): List<Member>
Link copied to clipboard
abstract suspend fun messageHistoryPage(options: ListMessagesOptions? = null, before: MessageHistoryPosition? = null, after: MessageHistoryPosition? = null): MessageHistoryPage

Read Published history by sent time, then immutable local delivery order. Defaults are ascending order and limit 50. Messenger uses descending order for newest and older pages. Explicit limits must be positive. None or SentAt sort is accepted; InsertedAt and pending statuses fail. All other selection filters apply before the page limit. Before is strict tuple less-than; after is strict tuple greater-than. Direction never changes those meanings. Deleted boundaries stay valid. First/last positions cover consumed raw rows, even after conversion loss. A sentinel key sets has_more without loading its base body. This query does not acquire a reader lease or acknowledge messages.

Link copied to clipboard
abstract suspend fun messageHistorySnapshot(limit: UInt): MessageHistorySnapshot
Link copied to clipboard
abstract suspend fun messageReader(options: ConversationMessageReaderOptions? = null): MessageReader
Link copied to clipboard
abstract suspend fun messageRecoveryPage(options: ListMessagesOptions? = null, before: MessageRecoveryPosition? = null, after: MessageRecoveryPosition? = null): MessageRecoveryPage

Read Failed and Unpublished rows in sent-time and raw ID order. Defaults are ascending order, no kind filter, and limit 50. Explicit Failed or Unpublished is accepted. Published, InsertedAt, and zero limits fail. Other filters apply before the limit. Before and after are strict tuple bounds in either direction. Keep message_cursor opaque. Deleted and published boundaries remain valid. Raw positions and skipped_count cover rows that fail conversion. This query does not acquire a reader lease or allocate delivery numbers.

Link copied to clipboard
abstract suspend fun messages(options: ListMessagesOptions? = null): List<Message>
Link copied to clipboard
abstract suspend fun metadataField(name: String): MetadataFieldDescriptor?

The field named name. A well-known field wins over an application field with the same name.

Link copied to clipboard

The conversation's fields in component ID order.

Link copied to clipboard
abstract suspend fun metadataValue(field: MetadataFieldRef): MetadataValue?

The value of field, absent when the conversation holds none.

Link copied to clipboard

The values of fields in request order, read from one snapshot.

Link copied to clipboard
abstract suspend fun peerInboxId(): InboxId?
Link copied to clipboard
abstract suspend fun prepareMessage(encoded: EncodedContent, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun publishMessage(id: MessageId)
Link copied to clipboard
abstract suspend fun publishMessages()
Link copied to clipboard
abstract suspend fun send(encoded: EncodedContent, options: SendOptions? = null): MessageId

Host stream ownership.

Link copied to clipboard
abstract suspend fun sendActions(actions: Actions, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendAttachment(attachment: Attachment, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendIntent(intent: Intent, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendMarkdown(markdown: String, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendMultiRemoteAttachment(attachment: MultiRemoteAttachment, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendReaction(reference: MessageId, referenceInboxId: InboxId?, reaction: Reaction, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendReadReceipt(options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendRemoteAttachment(attachment: RemoteAttachment, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendReply(reference: MessageId, referenceInboxId: InboxId?, content: EncodedContent, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendText(text: String, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendTransactionReference(reference: TransactionReference, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun sendWalletSendCalls(calls: WalletSendCalls, options: SendOptions? = null): MessageId
Link copied to clipboard
abstract suspend fun setNotifications(value: NotificationOverride)
Link copied to clipboard
abstract suspend fun state(): ConversationState
Link copied to clipboard
abstract suspend fun sync()
Link copied to clipboard
abstract fun topic(): String
Link copied to clipboard
abstract suspend fun updateConsentState(state: ConsentState)
Link copied to clipboard
abstract suspend fun updateDisappearingSettings(settings: DisappearingSettings?)
Link copied to clipboard
abstract suspend fun updateMetadataField(field: MetadataFieldRef, operation: ComponentMutation)

Applies operation to field in one commit, subject to the field's committed type and policies.

Link copied to clipboard
abstract suspend fun updateUserData(values: List<UserFieldUpdate>)

Sets or clears the caller's own user field values in one commit. Nothing is committed when nothing changes.

Link copied to clipboard
abstract suspend fun userData(fields: List<MetadataFieldRef>?, inboxIds: List<InboxId>?): Map<InboxId, List<UserFieldValue>>

User field values by inbox, read from one snapshot. Absent fields selects every user field, and absent inbox_ids the current members (the pair in a DM). Every selected inbox has an entry, empty when it holds no selected value. A field whose value does not decode contributes nothing. Inbox IDs must be lowercase hex, the form the result is keyed by; any other spelling fails InvalidArgument.