Skip to content

Commit caad160

Browse files
committed
Start working on trixnity 5
1 parent 77e4082 commit caad160

File tree

11 files changed

+64
-99
lines changed

11 files changed

+64
-99
lines changed

pom.xml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<dependency>
4242
<groupId>org.fuchss</groupId>
4343
<artifactId>matrix-bot-base</artifactId>
44-
<version>0.15.2</version>
44+
<version>0.16.0-SNAPSHOT</version>
4545
</dependency>
4646
<dependency>
4747
<groupId>org.jetbrains.kotlin</groupId>
@@ -73,11 +73,6 @@
7373
<version>${junit.version}</version>
7474
<scope>test</scope>
7575
</dependency>
76-
<dependency>
77-
<groupId>org.slf4j</groupId>
78-
<artifactId>slf4j-simple</artifactId>
79-
<version>${slf4j.version}</version>
80-
</dependency>
8176
</dependencies>
8277

8378
<repositories>

src/main/kotlin/org/fuchss/matrix/joinlink/Main.kt

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
package org.fuchss.matrix.joinlink
22

3+
import de.connect2x.lognity.api.backend.Backend
4+
import de.connect2x.lognity.backend.DefaultBackend
5+
import de.connect2x.trixnity.client.MatrixClient
6+
import de.connect2x.trixnity.client.create
7+
import de.connect2x.trixnity.client.createTrixnityDefaultModuleFactories
8+
import de.connect2x.trixnity.clientserverapi.client.MatrixClientAuthProviderData
9+
import de.connect2x.trixnity.clientserverapi.client.classicLogin
10+
import de.connect2x.trixnity.clientserverapi.model.authentication.IdentifierType
11+
import de.connect2x.trixnity.core.model.events.m.room.MemberEventContent
312
import io.ktor.http.Url
413
import kotlinx.coroutines.runBlocking
5-
import net.folivo.trixnity.client.MatrixClient
6-
import net.folivo.trixnity.client.createTrixnityDefaultModuleFactories
7-
import net.folivo.trixnity.client.fromStore
8-
import net.folivo.trixnity.client.login
9-
import net.folivo.trixnity.clientserverapi.model.authentication.IdentifierType
10-
import net.folivo.trixnity.core.model.events.m.room.MemberEventContent
1114
import org.fuchss.matrix.bots.MatrixBot
1215
import org.fuchss.matrix.bots.command.ChangeUsernameCommand
1316
import org.fuchss.matrix.bots.command.Command
1417
import org.fuchss.matrix.bots.command.HelpCommand
1518
import org.fuchss.matrix.bots.command.LogoutCommand
1619
import org.fuchss.matrix.bots.command.QuitCommand
20+
import org.fuchss.matrix.bots.helper.createCryptoDriverModule
1721
import org.fuchss.matrix.bots.helper.createMediaStoreModule
1822
import org.fuchss.matrix.bots.helper.createRepositoriesModule
1923
import org.fuchss.matrix.bots.helper.handleCommand
@@ -62,24 +66,27 @@ fun main() {
6266
}
6367

6468
private suspend fun getMatrixClient(config: Config): MatrixClient {
65-
val existingMatrixClient =
66-
MatrixClient
67-
.fromStore(createRepositoriesModule(config), createMediaStoreModule(config)) {
68-
modulesFactories = createTrixnityDefaultModuleFactories() + ::joinLinkModule
69-
}.getOrThrow()
69+
// System.setProperty("lognity.default.level", Level.DEBUG.name)
70+
Backend.set(DefaultBackend)
71+
72+
val existingMatrixClient = MatrixClient.create(createRepositoriesModule(config), createMediaStoreModule(config), createCryptoDriverModule()).getOrNull()
7073
if (existingMatrixClient != null) {
7174
return existingMatrixClient
7275
}
7376

7477
val matrixClient =
7578
MatrixClient
76-
.login(
77-
baseUrl = Url(config.baseUrl),
78-
identifier = IdentifierType.User(config.username),
79-
password = config.password,
80-
repositoriesModule = createRepositoriesModule(config),
81-
mediaStoreModule = createMediaStoreModule(config),
82-
initialDeviceDisplayName = "${MatrixBot::class.java.`package`.name}-${Random.Default.nextInt()}"
79+
.create(
80+
createRepositoriesModule(config),
81+
createMediaStoreModule(config),
82+
createCryptoDriverModule(),
83+
MatrixClientAuthProviderData
84+
.classicLogin(
85+
baseUrl = Url(config.baseUrl),
86+
identifier = IdentifierType.User(config.username),
87+
password = config.password,
88+
initialDeviceDisplayName = "${MatrixBot::class.java.`package`.name}-${Random.Default.nextInt()}"
89+
).getOrThrow()
8390
) {
8491
modulesFactories = createTrixnityDefaultModuleFactories() + ::joinLinkModule
8592
}.getOrThrow()
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package org.fuchss.matrix.joinlink.events
22

3-
import net.folivo.trixnity.core.serialization.events.DefaultEventContentSerializerMappings
4-
import net.folivo.trixnity.core.serialization.events.EventContentSerializerMappings
5-
import net.folivo.trixnity.core.serialization.events.createEventContentSerializerMappings
6-
import net.folivo.trixnity.core.serialization.events.stateOf
3+
import de.connect2x.trixnity.core.serialization.events.EventContentSerializerMappings
4+
import de.connect2x.trixnity.core.serialization.events.default
5+
import de.connect2x.trixnity.core.serialization.events.invoke
6+
import de.connect2x.trixnity.core.serialization.events.stateOf
77
import org.koin.dsl.module
88

99
private val joinLinkSerializationMapping =
10-
createEventContentSerializerMappings {
10+
EventContentSerializerMappings {
1111
setOf(
1212
stateOf<JoinLinkEventContent>(JoinLinkEventContent.ID.name),
1313
stateOf<RoomToJoinEventContent>(RoomToJoinEventContent.ID.name)
@@ -20,6 +20,6 @@ private val joinLinkSerializationMapping =
2020
val joinLinkModule =
2121
module {
2222
single<EventContentSerializerMappings> {
23-
DefaultEventContentSerializerMappings + joinLinkSerializationMapping
23+
EventContentSerializerMappings.default + joinLinkSerializationMapping
2424
}
2525
}

src/main/kotlin/org/fuchss/matrix/joinlink/events/JoinLinkEventContent.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.fuchss.matrix.joinlink.events
22

3+
import de.connect2x.trixnity.core.model.events.EventType
4+
import de.connect2x.trixnity.core.model.events.StateEventContent
35
import kotlinx.serialization.SerialName
46
import kotlinx.serialization.Serializable
5-
import net.folivo.trixnity.core.model.events.EventType
6-
import net.folivo.trixnity.core.model.events.StateEventContent
77

88
/**
99
* The content of a joinlink event.

src/main/kotlin/org/fuchss/matrix/joinlink/events/RoomToJoinEventContent.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.fuchss.matrix.joinlink.events
22

3+
import de.connect2x.trixnity.core.model.events.EventType
4+
import de.connect2x.trixnity.core.model.events.StateEventContent
35
import kotlinx.serialization.SerialName
46
import kotlinx.serialization.Serializable
5-
import net.folivo.trixnity.core.model.events.EventType
6-
import net.folivo.trixnity.core.model.events.StateEventContent
77

88
/**
99
* The content of a room to join event (present in a JoinLinkRoom).

src/main/kotlin/org/fuchss/matrix/joinlink/handler/JoinRoom.kt

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
package org.fuchss.matrix.joinlink.handler
44

5-
import net.folivo.trixnity.client.room.message.text
6-
import net.folivo.trixnity.core.model.RoomId
7-
import net.folivo.trixnity.core.model.UserId
8-
import net.folivo.trixnity.core.model.events.ClientEvent
9-
import net.folivo.trixnity.core.model.events.idOrNull
10-
import net.folivo.trixnity.core.model.events.m.room.MemberEventContent
11-
import net.folivo.trixnity.core.model.events.m.room.Membership
12-
import net.folivo.trixnity.core.model.events.originTimestampOrNull
13-
import net.folivo.trixnity.core.model.events.roomIdOrNull
14-
import net.folivo.trixnity.core.model.events.senderOrNull
5+
import de.connect2x.trixnity.client.room.message.text
6+
import de.connect2x.trixnity.core.model.RoomId
7+
import de.connect2x.trixnity.core.model.UserId
8+
import de.connect2x.trixnity.core.model.events.ClientEvent
9+
import de.connect2x.trixnity.core.model.events.idOrNull
10+
import de.connect2x.trixnity.core.model.events.m.room.MemberEventContent
11+
import de.connect2x.trixnity.core.model.events.m.room.Membership
12+
import de.connect2x.trixnity.core.model.events.originTimestampOrNull
13+
import de.connect2x.trixnity.core.model.events.roomIdOrNull
14+
import de.connect2x.trixnity.core.model.events.senderOrNull
1515
import org.fuchss.matrix.bots.MatrixBot
1616
import org.fuchss.matrix.bots.helper.isAdminInRoom
1717
import org.fuchss.matrix.bots.markdown
@@ -101,7 +101,7 @@ private suspend fun handleValidJoinEvent(
101101
matrixBot: MatrixBot,
102102
config: Config
103103
) {
104-
val roomToJoinState = matrixBot.getStateEvent<RoomToJoinEventContent>(roomId).getOrNull() ?: return
104+
val roomToJoinState = matrixBot.getStateEvent<RoomToJoinEventContent>(roomId) ?: return
105105
if (roomToJoinState.roomToJoin.isNullOrEmpty()) {
106106
return
107107
}
@@ -130,7 +130,6 @@ private suspend fun handleValidJoinEvent(
130130
val currentJoinLink =
131131
matrixBot
132132
.getStateEvent<JoinLinkEventContent>(roomToJoin)
133-
.getOrNull()
134133
?.joinlinkRoom
135134
.decrypt(config)
136135
if (currentJoinLink != roomId) {

src/main/kotlin/org/fuchss/matrix/joinlink/handler/command/LinkCommand.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package org.fuchss.matrix.joinlink.handler.command
22

3-
import net.folivo.trixnity.client.room.message.text
4-
import net.folivo.trixnity.clientserverapi.model.rooms.CreateRoom
5-
import net.folivo.trixnity.clientserverapi.model.rooms.DirectoryVisibility
6-
import net.folivo.trixnity.core.model.EventId
7-
import net.folivo.trixnity.core.model.RoomId
8-
import net.folivo.trixnity.core.model.UserId
9-
import net.folivo.trixnity.core.model.events.m.room.HistoryVisibilityEventContent
10-
import net.folivo.trixnity.core.model.events.m.room.PowerLevelsEventContent
11-
import net.folivo.trixnity.core.model.events.m.room.RoomMessageEventContent
3+
import de.connect2x.trixnity.client.room.message.text
4+
import de.connect2x.trixnity.clientserverapi.model.room.CreateRoom
5+
import de.connect2x.trixnity.clientserverapi.model.room.DirectoryVisibility
6+
import de.connect2x.trixnity.core.model.EventId
7+
import de.connect2x.trixnity.core.model.RoomId
8+
import de.connect2x.trixnity.core.model.UserId
9+
import de.connect2x.trixnity.core.model.events.m.room.HistoryVisibilityEventContent
10+
import de.connect2x.trixnity.core.model.events.m.room.PowerLevelsEventContent
11+
import de.connect2x.trixnity.core.model.events.m.room.RoomMessageEventContent
1212
import org.fuchss.matrix.bots.MatrixBot
1313
import org.fuchss.matrix.bots.command.Command
1414
import org.fuchss.matrix.bots.helper.ADMIN_POWER_LEVEL
@@ -62,7 +62,6 @@ internal class LinkCommand(
6262
val currentJoinLink =
6363
matrixBot
6464
.getStateEvent<JoinLinkEventContent>(targetRoom)
65-
.getOrNull()
6665
?.joinlinkRoom
6766
.decrypt(config)
6867

src/main/kotlin/org/fuchss/matrix/joinlink/handler/command/UnlinkCommand.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package org.fuchss.matrix.joinlink.handler.command
22

3-
import net.folivo.trixnity.client.room.message.text
4-
import net.folivo.trixnity.core.model.EventId
5-
import net.folivo.trixnity.core.model.RoomId
6-
import net.folivo.trixnity.core.model.UserId
7-
import net.folivo.trixnity.core.model.events.m.room.Membership
8-
import net.folivo.trixnity.core.model.events.m.room.RoomMessageEventContent
3+
import de.connect2x.trixnity.client.room.message.text
4+
import de.connect2x.trixnity.core.model.EventId
5+
import de.connect2x.trixnity.core.model.RoomId
6+
import de.connect2x.trixnity.core.model.UserId
7+
import de.connect2x.trixnity.core.model.events.m.room.Membership
8+
import de.connect2x.trixnity.core.model.events.m.room.RoomMessageEventContent
99
import org.fuchss.matrix.bots.MatrixBot
1010
import org.fuchss.matrix.bots.command.Command
1111
import org.fuchss.matrix.bots.helper.canInvite
@@ -75,7 +75,6 @@ internal class UnlinkCommand(
7575
val currentJoinLink =
7676
matrixBot
7777
.getStateEvent<JoinLinkEventContent>(targetRoom)
78-
.getOrNull()
7978
?.joinlinkRoom
8079
.decrypt(config)
8180

src/main/kotlin/org/fuchss/matrix/joinlink/helper/Crypto.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.fuchss.matrix.joinlink.helper
22

3-
import net.folivo.trixnity.core.model.RoomId
3+
import de.connect2x.trixnity.core.model.RoomId
44
import org.fuchss.matrix.joinlink.Config
55
import org.slf4j.LoggerFactory
66
import java.security.SecureRandom

src/main/resources/simplelogger.properties

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)