Client
Create MatrixClientServerApiClient
Here is a typical example, how to create a MatrixClientServerApiClient:
val matrixApiClient = MatrixClientServerApiClientImpl(
authProvider = MatrixClientAuthProviderData.classic(baseUrl, accessToken).createAuthProvider(
MatrixClientAuthProviderDataStore.inMemory(),
),
)
Use Matrix Client-Server API
Example 1: You can send messages.
matrixApiClient.room.sendRoomEvent(
RoomId("!awoun3w8fqo3bfq92a:your.home.server"),
RoomMessageEventContent.TextBased.Text("hello from platform $Platform")
)
Example 2: You can receive different type of events from sync.
matrixApiClient.sync.subscribeContent<RoomMessageEventContent.TextBased.Text> { println(it.content.body) }
matrixApiClient.sync.subscribeContent<MemberEventContent> { println("${it.content.displayName} did ${it.content.membership}") }
matrixApiClient.sync.subscribeEachEvent { println(it) }
matrixApiClient.sync.start() // you need to start the sync to receive messages
delay(30.seconds) // wait some time
matrixApiClient.sync.stop() // stop the sync