Upgraded to Trixniti 1.2.0-RC1

This commit is contained in:
2022-03-13 16:33:24 +01:00
parent 950b9cc542
commit d0f502c92f
10 changed files with 57 additions and 44 deletions

View File

@@ -18,7 +18,7 @@ dependencies {
implementation("io.ktor:ktor-client-cio:$ktorVersion")
// Trixnity
implementation("net.folivo:trixnity-appservice:1.1.8")
implementation("net.folivo:trixnity-appservice:1.2.0-RC1")
// Exposed
val exposedVersion: String by project
@@ -38,7 +38,7 @@ dependencies {
// Logger
implementation("io.github.microutils:kotlin-logging-jvm:2.1.21")
implementation("ch.qos.logback:logback-classic:1.2.10")
implementation("ch.qos.logback:logback-classic:1.2.11")
// JUnit
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:1.6.10")

View File

@@ -1,4 +1,4 @@
kotlin.code.style=official
exposedVersion=0.37.3
ktorVersion=1.6.7
ktorVersion=2.0.0-beta-1
jacksonVersion=2.13.1

View File

@@ -9,10 +9,10 @@ import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.launch
import mu.KotlinLogging
import net.folivo.trixnity.appservice.rest.MatrixAppserviceProperties
import net.folivo.trixnity.appservice.MatrixAppserviceProperties
import net.folivo.trixnity.appservice.rest.matrixAppserviceModule
import net.folivo.trixnity.client.api.MatrixApiClient
import net.folivo.trixnity.client.api.model.rooms.Visibility
import net.folivo.trixnity.clientserverapi.client.MatrixClientServerApiClient
import net.folivo.trixnity.clientserverapi.model.rooms.Visibility
import net.folivo.trixnity.core.model.RoomAliasId
private val logger = KotlinLogging.logger {}
@@ -26,7 +26,7 @@ suspend fun main() {
return
}
val matrixApiClient = MatrixApiClient(
val matrixApiClient = MatrixClientServerApiClient(
baseUrl = Url(
(if (config.homeserver.secure) "https" else "http") +
"://${config.homeserver.host}:${config.homeserver.port}"
@@ -61,7 +61,8 @@ suspend fun main() {
embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
matrixAppserviceModule(
properties = MatrixAppserviceProperties(config.tokens.homeserver),
appserviceService = createAppService(matrixApiClient)
appserviceService = createAppService(matrixApiClient),
customMappings = null
)
}.start(wait = true)
}

View File

@@ -16,6 +16,7 @@ import java.time.LocalDateTime
import java.time.ZoneOffset
import java.time.format.DateTimeFormatter
private val logger = KotlinLogging.logger {}
val matrixApiClient = MatrixApiClient(
@@ -96,6 +97,13 @@ object CommandParser {
)
// Send new travel event
// matrixApiClient.rooms.sendMessageEvent(
// roomId,
//
// )
}
}

View File

@@ -6,9 +6,9 @@ import eu.fosil.okupamicoche.services.EventTnxService
import eu.fosil.okupamicoche.services.RoomService
import eu.fosil.okupamicoche.services.UserService
import mu.KotlinLogging
import net.folivo.trixnity.appservice.rest.AppserviceService
import net.folivo.trixnity.appservice.rest.DefaultAppserviceService
import net.folivo.trixnity.client.api.MatrixApiClient
import net.folivo.trixnity.appservice.AppserviceService
import net.folivo.trixnity.appservice.DefaultAppserviceService
import net.folivo.trixnity.clientserverapi.client.MatrixClientServerApiClient
import net.folivo.trixnity.core.model.events.Event
import net.folivo.trixnity.core.model.events.m.room.CreateEventContent
import net.folivo.trixnity.core.model.events.m.room.RoomMessageEventContent
@@ -20,7 +20,7 @@ val db = Database.connect("jdbc:h2:./okupamicoche", driver = "org.h2.Driver")
private val logger = KotlinLogging.logger {}
fun createAppService(matrixApiClient: MatrixApiClient): AppserviceService {
fun createAppService(matrixClientServerApiClient: MatrixClientServerApiClient): AppserviceService {
transaction(db) {
SchemaUtils.create(Travels)
@@ -28,7 +28,7 @@ fun createAppService(matrixApiClient: MatrixApiClient): AppserviceService {
}
return DefaultAppserviceService(
EventTnxService(), UserService(matrixApiClient), RoomService(matrixApiClient)
EventTnxService(), UserService(matrixClientServerApiClient), RoomService(matrixClientServerApiClient)
).apply {
subscribeAllEvents {
logger.debug("All events: $it")
@@ -38,20 +38,19 @@ fun createAppService(matrixApiClient: MatrixApiClient): AppserviceService {
logger.info("${it.content.creator} created room ${it.roomId}")
}
}
subscribe<RoomMessageEventContent.TextMessageEventContent> {
if (it is Event.MessageEvent) {
val roomId = it.roomId
val body = it.content.body
logger.info("${it.sender} sent \"${it.content.body}\" on $roomId")
logger.info("$it")
subscribe<RoomMessageEventContent.TextMessageEventContent> { event ->
require(event is Event.MessageEvent)
val roomId = event.roomId
val body = event.content.body
logger.info("${event.sender} sent \"${event.content.body}\" on $roomId")
logger.info("$event")
if (CommandParser.isCommand(body)) {
CommandParser.parse(
user = it.sender,
roomId,
body
)
}
if (CommandParser.isCommand(body)) {
CommandParser.parse(
user = event.sender,
roomId,
body
)
}
}
}

View File

@@ -0,0 +1,13 @@
package eu.fosil.okupamicoche.matrix.event
import kotlinx.serialization.SerialName
import net.folivo.trixnity.core.model.UserId
import net.folivo.trixnity.core.model.events.MessageEventContent
import net.folivo.trixnity.core.model.events.RelatesTo
data class NewTravelEventContent(
@SerialName("to") val to: UserId,
// @SerialName("body") override val body: String = "Attempting verification request. (m.key.verification.request) Apparently your client doesn't support this.",
@SerialName("m.relates_to") override val relatesTo: RelatesTo? = null,
) : MessageEventContent {
}

View File

@@ -25,11 +25,3 @@ class Travel(id: EntityID<Int>) : IntEntity(id) {
var places by Travels.places
var description by Travels.description
}
//object StarWarsFilms : Table() {
// val id: Column<Int> = integer("id").autoIncrement()
// val sequelId: Column<Int> = integer("sequel_id").uniqueIndex()
// val name: Column<String> = varchar("name", 50)
// val director: Column<String> = varchar("director", 50)
// override val primaryKey = PrimaryKey(id, name = "PK_StarWarsFilms_Id") // PK_StarWarsFilms_Id is optional here
//}

View File

@@ -1,7 +1,7 @@
package eu.fosil.okupamicoche.services
import mu.KotlinLogging
import net.folivo.trixnity.appservice.rest.event.AppserviceEventTnxService
import net.folivo.trixnity.appservice.event.AppserviceEventTnxService
private val logger = KotlinLogging.logger {}

View File

@@ -1,16 +1,16 @@
package eu.fosil.okupamicoche.services
import mu.KotlinLogging
import net.folivo.trixnity.appservice.rest.room.AppserviceRoomService
import net.folivo.trixnity.appservice.rest.room.CreateRoomParameter
import net.folivo.trixnity.client.api.MatrixApiClient
import net.folivo.trixnity.client.api.model.rooms.Visibility
import net.folivo.trixnity.appservice.room.AppserviceRoomService
import net.folivo.trixnity.appservice.room.CreateRoomParameter
import net.folivo.trixnity.clientserverapi.client.MatrixClientServerApiClient
import net.folivo.trixnity.clientserverapi.model.rooms.Visibility
import net.folivo.trixnity.core.model.RoomAliasId
import net.folivo.trixnity.core.model.RoomId
private val logger = KotlinLogging.logger {}
class RoomService(override val matrixApiClient: MatrixApiClient) : AppserviceRoomService {
class RoomService(override val matrixClientServerApiClient: MatrixClientServerApiClient) : AppserviceRoomService {
override suspend fun getCreateRoomParameter(roomAlias: RoomAliasId): CreateRoomParameter {
logger.info("getCreateRoomParameter")

View File

@@ -1,11 +1,11 @@
package eu.fosil.okupamicoche.services
import net.folivo.trixnity.appservice.rest.user.AppserviceUserService
import net.folivo.trixnity.appservice.rest.user.RegisterUserParameter
import net.folivo.trixnity.client.api.MatrixApiClient
import net.folivo.trixnity.appservice.user.AppserviceUserService
import net.folivo.trixnity.appservice.user.RegisterUserParameter
import net.folivo.trixnity.clientserverapi.client.MatrixClientServerApiClient
import net.folivo.trixnity.core.model.UserId
class UserService(override val matrixApiClient: MatrixApiClient) : AppserviceUserService {
class UserService(override val matrixClientServerApiClient: MatrixClientServerApiClient) : AppserviceUserService {
override suspend fun getRegisterUserParameter(userId: UserId): RegisterUserParameter {
println("getRegisterUserParameter")