From 8defc45b12f425b33eb4502d301cc75c2b2dfaa9 Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 8 Dec 2023 11:33:55 +0100 Subject: [PATCH 1/4] feat: bump version --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 313afab..09e888a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -32,7 +32,7 @@ val ownerID = 372703841151614976L group = "net.moonleay.bedge" version = System.getenv("CI_COMMIT_TAG")?.let { "$it-${System.getenv("CI_COMMIT_SHORT_SHA")}-prod" } ?: System.getenv("CI_COMMIT_SHORT_SHA")?.let { "$it-dev" } - ?: "0.0.5" + ?: "0.0.6" val kordver = "1.5.9-SNAPSHOT" val coroutinesver = "1.7.3" From aab31d8d419a5bcd1b0a277d84c535cb25e85963 Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 8 Dec 2023 11:34:40 +0100 Subject: [PATCH 2/4] feat: added improved warning, when user failed last time --- .../bedge/extensions/AwakeExtension.kt | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt b/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt index 8f99f05..5946342 100644 --- a/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt +++ b/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt @@ -21,12 +21,12 @@ package net.moonleay.bedge.extensions import com.kotlindiscord.kord.extensions.extensions.Extension import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand import com.kotlindiscord.kord.extensions.types.respond -import dev.kord.common.entity.MessageFlags import net.moonleay.bedge.data.database.repository.UserRepository import net.moonleay.bedge.jobs.component.JobManager import net.moonleay.bedge.util.EmbedColor import net.moonleay.bedge.util.Logger import net.moonleay.bedge.util.MessageUtil +import net.moonleay.bedge.util.TimeUtil class AwakeExtension : Extension() { @@ -42,6 +42,22 @@ class AwakeExtension : Extension() { val ud = UserRepository.getUserByID(u.id.value) if (ud.isAwake) { // User is already awake + + if (ud.currentStreak == 0) { + // User failed last time + this.respond { + this.embeds.add( + MessageUtil.getEmbed( + EmbedColor.ERROR, + "You failed last time!!", + "You failed to wake up at ${TimeUtil.getHourAndMinuteFromStamp(ud.nextWakeup)}!\n" + + "You can try again tomorrow with `/time`.", + u.username + ) + ) + } + return@action + } this.respond { this.embeds.add( MessageUtil.getEmbed( @@ -94,7 +110,7 @@ class AwakeExtension : Extension() { "Good morning, ${u.username}!", ud.customWakeupMessage.replace("#user", u.mention) + "\n" + "\n" + - "${if (streakCoins > 0) "[${ud.currentStreak} day streak]" else ""}\n" + + "${if (ud.currentStreak > 0) "[${ud.currentStreak} day streak]" else ""}\n" + "${ud.coins} coin${if (ud.coins >= 1) "s" else ""} (+${streakCoins+1})\n" + "lvl ${ud.level} (${ud.xp}/${neededXpForNextLvl} xp) [+${10 + bonusXp} xp]\n", u.username, From 338d00c9902d1f410e932339b9b34b7f03db1841 Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 8 Dec 2023 11:35:06 +0100 Subject: [PATCH 3/4] fix: Added user to WakeupJob fail msg --- src/main/kotlin/net/moonleay/bedge/jobs/WakeupJob.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/net/moonleay/bedge/jobs/WakeupJob.kt b/src/main/kotlin/net/moonleay/bedge/jobs/WakeupJob.kt index 1ac9ab3..eb2ce2a 100644 --- a/src/main/kotlin/net/moonleay/bedge/jobs/WakeupJob.kt +++ b/src/main/kotlin/net/moonleay/bedge/jobs/WakeupJob.kt @@ -47,6 +47,7 @@ class WakeupJob(override val jobName: String, override val jobIncoming: String, val user = UserRepository.getUserByID(userId) if (!user.isAwake){ // Failed + val userasuser = Bot.bot.kordRef.getUser(Snowflake(userId))!!.asUser() val brokenStreak = user.currentStreak val isBiggestStreakYet = user.currentStreak > user.longestStreak ++user.numberOfFails @@ -61,11 +62,11 @@ class WakeupJob(override val jobName: String, override val jobIncoming: String, MessageUtil.getEmbed( EmbedColor.ERROR, "You failed to wake up!", - "You failed to wake up at ${TimeUtil.getHourAndMinuteFromStamp(user.nextWakeup)}!\n" + - "You lost a streak of ${user.currentStreak}" + + "${userasuser.mention} failed to wake up at ${TimeUtil.getHourAndMinuteFromStamp(user.nextWakeup)}!\n" + + "You lost a streak of $brokenStreak" + if(isBiggestStreakYet) ", which was your biggest streak yet." else "." + "\nYou can try again tomorrow with `/time`", - user.userid.toString(), + "Automated Message", ) ) } From e4102cc56ba10bccd1b9dfa4d563207a5c793a0b Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 8 Dec 2023 11:36:01 +0100 Subject: [PATCH 4/4] fix: fixed sorting top lists not working --- .../moonleay/bedge/extensions/TopExtension.kt | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt b/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt index 134971c..056be01 100644 --- a/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt +++ b/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt @@ -25,11 +25,11 @@ import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand import com.kotlindiscord.kord.extensions.types.respond import dev.kord.common.entity.Snowflake import dev.kord.core.entity.Guild -import kotlinx.coroutines.flow.map import net.moonleay.bedge.data.database.entry.UserData import net.moonleay.bedge.data.database.repository.UserRepository import net.moonleay.bedge.extensions.component.ListTypes import net.moonleay.bedge.util.EmbedColor +import net.moonleay.bedge.util.Logger import net.moonleay.bedge.util.MessageUtil class TopExtension : Extension() { @@ -49,22 +49,27 @@ class TopExtension : Extension() { val g = this.guild!!.asGuild() val targetList = this.arguments.listType val all = UserRepository.getAllUsers() - val allInGuild = all.filter { g.getMemberOrNull(Snowflake(it.userid)) != null } + var allInGuild = all.filter { g.getMemberOrNull(Snowflake(it.userid)) != null } when(targetList) { ListTypes.TOPSTREAK -> { - allInGuild.sortedByDescending { it.longestStreak } + Logger.out("Sorting by topstreak") + allInGuild = allInGuild.sortedByDescending { it.longestStreak } } ListTypes.STREAK -> { - allInGuild.sortedByDescending { it.currentStreak } + Logger.out("Sorting by streak") + allInGuild = allInGuild.sortedByDescending { it.currentStreak } } ListTypes.TOPCOINS -> { - allInGuild.sortedByDescending { it.coinsCollected } + Logger.out("Sorting by topcoins") + allInGuild = allInGuild.sortedByDescending { it.coinsCollected } } ListTypes.COINS -> { - allInGuild.sortedByDescending { it.coins } + Logger.out("Sorting by coins") + allInGuild = allInGuild.sortedByDescending { it.coins } } ListTypes.FAILS -> { - allInGuild.sortedByDescending { it.numberOfFails } + Logger.out("Sorting by fails") + allInGuild = allInGuild.sortedByDescending { it.numberOfFails } } } var msg = "" @@ -87,7 +92,6 @@ class TopExtension : Extension() { } } - private suspend fun getRow(user: UserData, g: Guild, type: ListTypes): Array { val typeResult: String = when(type) { ListTypes.TOPSTREAK -> user.longestStreak.toString()