MessageBuilder

class MessageBuilder(val roomId: RoomId, val roomService: RoomService, val mediaService: MediaService, val ownUserId: UserId)

Constructors

Link copied to clipboard
constructor(roomId: RoomId, roomService: RoomService, mediaService: MediaService, ownUserId: UserId)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
suspend fun MessageBuilder.audio(body: String, audio: ByteArrayFlow, format: String? = null, formattedBody: String? = null, fileName: String? = null, type: ContentType? = null, size: Long? = null, duration: Long? = null)
Link copied to clipboard
suspend fun build(builder: suspend MessageBuilder.() -> Unit): MessageEventContent?
Link copied to clipboard

This allows to set a contentBuilder, that does not consider RelatesTo or Mentions.

Link copied to clipboard
fun MessageBuilder.emote(body: String, format: String? = null, formattedBody: String? = null)
Link copied to clipboard
suspend fun MessageBuilder.file(body: String, file: ByteArrayFlow, format: String? = null, formattedBody: String? = null, fileName: String? = null, type: ContentType? = null, size: Long? = null, thumbnail: ByteArrayFlow? = null, thumbnailInfo: ThumbnailInfo? = null)
Link copied to clipboard
suspend fun MessageBuilder.image(body: String, image: ByteArrayFlow, format: String? = null, formattedBody: String? = null, fileName: String? = null, type: ContentType? = null, size: Long? = null, height: Int? = null, width: Int? = null, thumbnail: ByteArrayFlow? = null, thumbnailInfo: ThumbnailInfo? = null)
Link copied to clipboard
fun MessageBuilder.mentions(users: Set<UserId>? = mentions?.users, room: Boolean? = mentions?.room)

Add mentions to the message. Can be called multiple times and adds new mentions each time.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun MessageBuilder.notice(body: String, format: String? = null, formattedBody: String? = null)
Link copied to clipboard
Link copied to clipboard
suspend fun MessageBuilder.reply(event: TimelineEvent)

suspend fun MessageBuilder.reply(eventId: EventId, eventRelatesTo: RelatesTo?)

Important: eventRelatesTo should be set from the event, that is replied. Otherwise, thread support is dropped.

Link copied to clipboard
Link copied to clipboard
fun MessageBuilder.text(body: String, format: String? = null, formattedBody: String? = null)
Link copied to clipboard
fun MessageBuilder.thread(event: TimelineEvent, reply: Boolean = false)

event must be the last known event of a thread.

fun MessageBuilder.thread(eventId: EventId, eventRelatesTo: RelatesTo? = null, reply: Boolean = false)

eventId and eventRelatesTo must be from the last known event of a thread.

Link copied to clipboard
suspend fun MessageBuilder.video(body: String, video: ByteArrayFlow, format: String? = null, formattedBody: String? = null, fileName: String? = null, type: ContentType? = null, size: Long? = null, height: Int? = null, width: Int? = null, duration: Long? = null, thumbnail: ByteArrayFlow? = null, thumbnailInfo: ThumbnailInfo? = null)