1
0

pls let this work thanks

This commit is contained in:
Jannik Reimers 2024-11-24 02:34:00 +01:00
parent d263cf39b9
commit 016c9688c8
Signed by: jansel
GPG Key ID: 39C62D7D5233CFD0
2 changed files with 11 additions and 6 deletions

View File

@ -41,9 +41,6 @@ class StreamerCollection : KordExKoinComponent {
StreamerData::name eq streamerName, StreamerData::name eq streamerName,
setValue(StreamerData::servers, coll.servers - Server(guildId, channelId, roleId)) setValue(StreamerData::servers, coll.servers - Server(guildId, channelId, roleId))
) )
if (coll.servers.isEmpty()) {
collection.deleteOne(StreamerData::name eq streamerName)
}
} }
} }
} }

View File

@ -1,11 +1,14 @@
package dev.jansel.feixiao.extensions package dev.jansel.feixiao.extensions
import dev.jansel.feixiao.database.collections.StreamerCollection import dev.jansel.feixiao.database.collections.StreamerCollection
import dev.jansel.feixiao.database.entities.StreamerData
import dev.jansel.feixiao.logger import dev.jansel.feixiao.logger
import dev.jansel.feixiao.twitchClient import dev.jansel.feixiao.twitchClient
import dev.kord.core.event.gateway.ReadyEvent import dev.kord.core.event.gateway.ReadyEvent
import dev.kordex.core.extensions.Extension import dev.kordex.core.extensions.Extension
import dev.kordex.core.extensions.event import dev.kordex.core.extensions.event
import org.litote.kmongo.deleteMany
import org.litote.kmongo.eq
class EventHooks : Extension() { class EventHooks : Extension() {
override val name = "eventhooks" override val name = "eventhooks"
@ -15,10 +18,15 @@ class EventHooks : Extension() {
action { action {
logger.info { "Bot is ready!" } logger.info { "Bot is ready!" }
kord.editPresence { listening("the database") } 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 { StreamerCollection().collection.find().toList().forEach {
twitchClient!!.clientHelper.enableStreamEventListener(it.name) if (it.servers.isNotEmpty()) {
logger.info { "Enabled stream event listener for ${it.name}" } 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)
}
} }
} }
} }