SendPollMessageUseCase

class SendPollMessageUseCase(persistMessage: PersistMessageUseCase, selfUserId: QualifiedID, currentClientIdProvider: CurrentClientIdProvider, slowSyncRepository: SlowSyncRepository, messageSender: MessageSender, messageSendFailureHandler: MessageSendFailureHandler, userPropertyRepository: UserPropertyRepository, pendingMessagesEnabled: Boolean = true, dispatcher: KaliumDispatcher = KaliumDispatcherImpl, scope: CoroutineScope)

Creates, persists, and sends a native end-to-end encrypted poll. Polls are never self-deleting, because the ephemeral message format cannot carry them. Sending runs in the session scope, so it completes even if the caller is cancelled.

Constructors

Link copied to clipboard
internal constructor(persistMessage: PersistMessageUseCase, selfUserId: QualifiedID, currentClientIdProvider: CurrentClientIdProvider, slowSyncRepository: SlowSyncRepository, messageSender: MessageSender, messageSendFailureHandler: MessageSendFailureHandler, userPropertyRepository: UserPropertyRepository, pendingMessagesEnabled: Boolean = true, dispatcher: KaliumDispatcher = KaliumDispatcherImpl, scope: CoroutineScope)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
suspend operator fun invoke(conversationId: ConversationId, question: String, options: List<String>, allowMultipleAnswers: Boolean): MessageOperationResult