From 13d07b186613a7434beea3fc4d1fb9cee0ea3191 Mon Sep 17 00:00:00 2001 From: moonleay Date: Wed, 6 Dec 2023 00:24:17 +0100 Subject: [PATCH] fix: fixed time conversion errors, fixed list iteration errors --- build.gradle.kts | 2 +- .../net/moonleay/bedge/extensions/AwakeExtension.kt | 4 ++++ .../net/moonleay/bedge/extensions/ProfileExtension.kt | 7 ++++--- .../net/moonleay/bedge/extensions/TopExtension.kt | 4 ++-- src/main/kotlin/net/moonleay/bedge/util/TimeUtil.kt | 11 ++++++++--- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 00d7859..313afab 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.4" + ?: "0.0.5" val kordver = "1.5.9-SNAPSHOT" val coroutinesver = "1.7.3" diff --git a/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt b/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt index e36b757..8f99f05 100644 --- a/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt +++ b/src/main/kotlin/net/moonleay/bedge/extensions/AwakeExtension.kt @@ -23,6 +23,7 @@ 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 @@ -82,6 +83,9 @@ class AwakeExtension : Extension() { // update user UserRepository.update(ud) + // kill job + JobManager.killNamedJob("WakeupJob${u.id.value.toLong()}") + // respond to user this.respond { this.embeds.add( diff --git a/src/main/kotlin/net/moonleay/bedge/extensions/ProfileExtension.kt b/src/main/kotlin/net/moonleay/bedge/extensions/ProfileExtension.kt index 8669f6d..499f938 100644 --- a/src/main/kotlin/net/moonleay/bedge/extensions/ProfileExtension.kt +++ b/src/main/kotlin/net/moonleay/bedge/extensions/ProfileExtension.kt @@ -29,6 +29,7 @@ import net.moonleay.bedge.data.database.entry.UserData import net.moonleay.bedge.data.database.repository.UserRepository import net.moonleay.bedge.util.EmbedColor import net.moonleay.bedge.util.MessageUtil +import net.moonleay.bedge.util.TimeUtil class ProfileExtension : Extension() { @@ -45,7 +46,7 @@ class ProfileExtension : Extension() { val user = this.user.asUser() if (this.arguments.target == null || this.arguments.target!!.id == this.user.id) { // User wants to see own profile - val target = this.arguments.target!! + val target = this.user.asUser() if(!UserRepository.doesUserExist(target.id.value)){ this.respond { this.embeds.add( @@ -95,8 +96,8 @@ class ProfileExtension : Extension() { private fun getProfileMsg(target: UserData, targetUser: User, requester: User): EmbedBuilder = MessageUtil.getEmbedWithImage( EmbedColor.INFO, - "Profile of ${target.userid}", - "Account created: ${target.accountCreationDate}\n" + + "Profile of ${targetUser.username}", + "Account created: ${TimeUtil.convertFromUnixStamp(target.accountCreationDate)}\n" + "Current streak: ${target.currentStreak} days\n" + "Longest streak: ${target.longestStreak} days\n" + "Number of fails: ${target.numberOfFails}x\n" + diff --git a/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt b/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt index 4b74ba6..134971c 100644 --- a/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt +++ b/src/main/kotlin/net/moonleay/bedge/extensions/TopExtension.kt @@ -68,7 +68,7 @@ class TopExtension : Extension() { } } var msg = "" - for (i in 0..9) { + for (i in 0..if (allInGuild.size > 10) 9 else allInGuild.size-1) { val user = allInGuild[i] val row = getRow(user, g, targetList) msg += "${i+1}. ${row[0]}: ${row[1]}\n" @@ -77,7 +77,7 @@ class TopExtension : Extension() { this.embeds.add( MessageUtil.getEmbed( EmbedColor.INFO, - "Top ${targetList.name}", + targetList.readableName, msg, u.username, ) diff --git a/src/main/kotlin/net/moonleay/bedge/util/TimeUtil.kt b/src/main/kotlin/net/moonleay/bedge/util/TimeUtil.kt index ee472c3..315c641 100644 --- a/src/main/kotlin/net/moonleay/bedge/util/TimeUtil.kt +++ b/src/main/kotlin/net/moonleay/bedge/util/TimeUtil.kt @@ -149,6 +149,10 @@ object TimeUtil { return ZonedDateTime.of(localDateTime, zoneId) } + fun convertFromUnixStamp(stamp: Long): ZonedDateTime { + return ZonedDateTime.ofInstant(Instant.ofEpochMilli(stamp), ZoneId.of("UTC")) + } + fun getCronjobStringFromDate(zdt: ZonedDateTime): String { // I'll have to add the possibility to set your timezone in the future // Only subtracting 1 hour, because I want to run the job 1 hour later @@ -164,12 +168,13 @@ object TimeUtil { return ZonedDateTime.of(localDateTime, zoneId).toEpochSecond() * 1000 } + fun getZdtFromTime(inp: String, zone: String): ZonedDateTime { - val formatter = DateTimeFormatter.ofPattern("HH:mm") - val localDateTime = LocalDateTime.parse(inp, formatter) + val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm") val zoneId = ZoneId.of(zone) val now = ZonedDateTime.now(zoneId) - val zdtPre = ZonedDateTime.of(localDateTime, zoneId).withDayOfMonth(now.dayOfMonth).withMonth(now.monthValue).withYear(now.year) + val localDateTime = LocalDateTime.parse("${now.year}-${now.monthValue}-${if (now.dayOfMonth < 10) "0${now.dayOfMonth}" else now.dayOfMonth} $inp", formatter) + val zdtPre = ZonedDateTime.of(localDateTime, zoneId) if(zdtPre.isBefore(now)) return zdtPre.plusDays(1) return zdtPre