From 016c9688c8a9973cec4a56dc883a334fc2310e73 Mon Sep 17 00:00:00 2001 From: Jannik Reimers Date: Sun, 24 Nov 2024 02:34:00 +0100 Subject: [PATCH] pls let this work thanks --- .../database/collections/StreamerCollection.kt | 3 --- .../dev/jansel/feixiao/extensions/EventHooks.kt | 14 +++++++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/dev/jansel/feixiao/database/collections/StreamerCollection.kt b/src/main/kotlin/dev/jansel/feixiao/database/collections/StreamerCollection.kt index 549159d..8df3691 100644 --- a/src/main/kotlin/dev/jansel/feixiao/database/collections/StreamerCollection.kt +++ b/src/main/kotlin/dev/jansel/feixiao/database/collections/StreamerCollection.kt @@ -41,9 +41,6 @@ class StreamerCollection : KordExKoinComponent { StreamerData::name eq streamerName, setValue(StreamerData::servers, coll.servers - Server(guildId, channelId, roleId)) ) - if (coll.servers.isEmpty()) { - collection.deleteOne(StreamerData::name eq streamerName) - } } } } diff --git a/src/main/kotlin/dev/jansel/feixiao/extensions/EventHooks.kt b/src/main/kotlin/dev/jansel/feixiao/extensions/EventHooks.kt index 2a76f6d..246afb1 100644 --- a/src/main/kotlin/dev/jansel/feixiao/extensions/EventHooks.kt +++ b/src/main/kotlin/dev/jansel/feixiao/extensions/EventHooks.kt @@ -1,11 +1,14 @@ package dev.jansel.feixiao.extensions import dev.jansel.feixiao.database.collections.StreamerCollection +import dev.jansel.feixiao.database.entities.StreamerData import dev.jansel.feixiao.logger import dev.jansel.feixiao.twitchClient import dev.kord.core.event.gateway.ReadyEvent import dev.kordex.core.extensions.Extension import dev.kordex.core.extensions.event +import org.litote.kmongo.deleteMany +import org.litote.kmongo.eq class EventHooks : Extension() { override val name = "eventhooks" @@ -15,10 +18,15 @@ class EventHooks : Extension() { action { logger.info { "Bot is ready!" } kord.editPresence { listening("the database") } - // check every entry in the database and enable the stream event listener + // check every entry in the database and enable the stream event listener if a server is listening to the streamer StreamerCollection().collection.find().toList().forEach { - twitchClient!!.clientHelper.enableStreamEventListener(it.name) - logger.info { "Enabled stream event listener for ${it.name}" } + if (it.servers.isNotEmpty()) { + twitchClient!!.clientHelper.enableStreamEventListener(it.name) + logger.info { "Enabled stream event listener for ${it.name}" } + } else { + logger.info { "No servers are listening to ${it.name}, deleting from the database..." } + StreamerCollection().collection.deleteMany(StreamerData::name eq it.name) + } } } }