From b65dadd42f906c1240dfcde36da99e3152a118db Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 19 Jan 2024 10:53:49 +0100 Subject: [PATCH 1/7] chore: code cleanup Signed-off-by: moonleay --- .../buttons/matchplanner/AcceptEditButton.kt | 4 ++-- .../buttons/matchplanner/DeclineEditButton.kt | 2 +- .../data/api/splatoon3ink/Splatoon3Api.kt | 2 +- .../splatoon3ink/Splatoon3ApiDataGrabber.kt | 8 +++---- .../schedules/BankaraMatchSetting.kt | 4 ++-- .../api/splatoon3ink/schedules/BankaraNode.kt | 4 ++-- .../schedules/BankaraSchedules.kt | 2 +- .../schedules/BigRunScheduleNode.kt | 2 +- .../splatoon3ink/schedules/BigRunSchedules.kt | 2 +- .../schedules/CoopGroupingSchedule.kt | 6 ++--- .../api/splatoon3ink/schedules/CoopStage.kt | 4 ++-- .../api/splatoon3ink/schedules/CurrentFest.kt | 4 ++-- .../splatoon3ink/schedules/CurrentPlayer.kt | 2 +- .../api/splatoon3ink/schedules/EventNode.kt | 4 ++-- .../splatoon3ink/schedules/EventSchedules.kt | 2 +- .../schedules/FestMatchSettingX.kt | 4 ++-- .../api/splatoon3ink/schedules/FestNode.kt | 2 +- .../splatoon3ink/schedules/FestSchedules.kt | 2 +- .../schedules/LeagueMatchSetting.kt | 6 ++--- .../api/splatoon3ink/schedules/MapNode.kt | 2 +- .../schedules/RegularMatchSetting.kt | 4 ++-- .../api/splatoon3ink/schedules/RegularNode.kt | 4 ++-- .../schedules/RegularSchedules.kt | 2 +- .../schedules/RegularSchedulesX.kt | 2 +- .../api/splatoon3ink/schedules/Schedules.kt | 2 +- .../splatoon3ink/schedules/SchedulesData.kt | 18 +++++++-------- .../api/splatoon3ink/schedules/Setting.kt | 6 ++--- .../data/api/splatoon3ink/schedules/Team.kt | 2 +- .../splatoon3ink/schedules/TricolorStage.kt | 2 +- .../api/splatoon3ink/schedules/VsStage.kt | 2 +- .../api/splatoon3ink/schedules/VsStages.kt | 2 +- .../data/api/splatoon3ink/schedules/Weapon.kt | 2 +- .../splatoon3ink/schedules/XMatchSetting.kt | 4 ++-- .../data/api/splatoon3ink/schedules/XNode.kt | 4 ++-- .../api/splatoon3ink/schedules/XSchedules.kt | 2 +- .../repository/MatchPlanningDataRepository.kt | 22 +++++++++--------- .../PlanningNotifierRolesRepository.kt | 23 +++++++++---------- .../TimePlanningChannelsRepository.kt | 9 ++++---- .../TimePlanningMessagesRepository.kt | 14 ++++------- .../extensions/SendPlannerExtension.kt | 2 +- .../extensions/UpdateRolesExtension.kt | 2 +- 41 files changed, 97 insertions(+), 101 deletions(-) diff --git a/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/AcceptEditButton.kt b/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/AcceptEditButton.kt index ffb7759..ff4d4cf 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/AcceptEditButton.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/AcceptEditButton.kt @@ -34,7 +34,7 @@ import net.moonleay.lilJudd.util.EmbedUtil import net.moonleay.lilJudd.util.Logger import net.moonleay.lilJudd.util.MessageUtil -class AcceptEditButton() : IEditButton { +class AcceptEditButton : IEditButton { override val id: String = "public.edit.btn.matchmanagement.accept" override suspend fun onInteraction( @@ -60,7 +60,7 @@ class AcceptEditButton() : IEditButton { Logger.out("role is null") return } - val member = interaction.user.asMember(guild.id) ?: return + val member = interaction.user.asMember(guild.id) // do the checks and update if (m.embeds[0].fields[0].value.contains(user.id.value.toString())) { if (member.roleIds.contains(Snowflake(mpdd.roleID))) { diff --git a/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/DeclineEditButton.kt b/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/DeclineEditButton.kt index 12c8375..d205b05 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/DeclineEditButton.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/buttons/matchplanner/DeclineEditButton.kt @@ -60,7 +60,7 @@ class DeclineEditButton : IEditButton { Logger.out("role is null") return } - val member = interaction.user.asMember(guild.id) ?: return + val member = interaction.user.asMember(guild.id) if (m.embeds[0].fields[0].value.contains(user.id.value.toString())) { if (member.roleIds.contains(Snowflake(mpdd.roleID))) { Logger.out("Removing role from ${member.username}") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3Api.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3Api.kt index bce9a62..100c9dc 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3Api.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3Api.kt @@ -25,7 +25,7 @@ import net.moonleay.liljudd.build.BuildConstants object Splatoon3Api { - var schedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Schedules? = null + var schedules: Schedules? = null fun updateSchedule() { val response = NetUtil.GETJsonData("https://splatoon3.ink/data/schedules.json", "lilJudd/${BuildConstants.version}") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt index 6a9eedf..298e943 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt @@ -24,7 +24,7 @@ import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.XNode import net.moonleay.lilJudd.util.TimeUtil object Splatoon3ApiDataGrabber { - private fun getRegularMode(timestamp: Long): net.moonleay.lilJudd.data.api.splatoon3ink.schedules.RegularNode { + private fun getRegularMode(timestamp: Long): RegularNode { Splatoon3Api.schedules!!.data.regularSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") @@ -35,7 +35,7 @@ object Splatoon3ApiDataGrabber { throw Exception("No current mode found") } - private fun getOpenMode(timestamp: Long): net.moonleay.lilJudd.data.api.splatoon3ink.schedules.BankaraNode { + private fun getOpenMode(timestamp: Long): BankaraNode { Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") @@ -49,7 +49,7 @@ object Splatoon3ApiDataGrabber { throw Exception("No current mode found") } - private fun getXMode(timestamp: Long): net.moonleay.lilJudd.data.api.splatoon3ink.schedules.XNode { + private fun getXMode(timestamp: Long): XNode { Splatoon3Api.schedules!!.data.xSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") @@ -60,7 +60,7 @@ object Splatoon3ApiDataGrabber { throw Exception("No current mode found") } - private fun getSeriesMode(timestamp: Long): net.moonleay.lilJudd.data.api.splatoon3ink.schedules.BankaraNode { + private fun getSeriesMode(timestamp: Long): BankaraNode { Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraMatchSetting.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraMatchSetting.kt index a73a448..773f4e8 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraMatchSetting.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraMatchSetting.kt @@ -31,7 +31,7 @@ data class BankaraMatchSetting( @SerialName("__typename") val typename: String, @SerialName("vsRule") - val vsRule: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.VsRule, + val vsRule: VsRule, @SerialName("vsStages") - val vsStages: List + val vsStages: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraNode.kt index e40379c..953c79a 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraNode.kt @@ -25,11 +25,11 @@ import kotlinx.serialization.Serializable @Serializable data class BankaraNode( @SerialName("bankaraMatchSettings") - val bankaraMatchSettings: List?, + val bankaraMatchSettings: List?, @SerialName("endTime") val endTime: String, @SerialName("festMatchSettings") - val festMatchSettings: List?, + val festMatchSettings: List?, @SerialName("startTime") val startTime: String ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraSchedules.kt index 0363b5f..a770703 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BankaraSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class BankaraSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunScheduleNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunScheduleNode.kt index e51551e..583e7c4 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunScheduleNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunScheduleNode.kt @@ -27,7 +27,7 @@ data class BigRunScheduleNode( @SerialName("endTime") val endTime: String, @SerialName("setting") - val setting: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Setting, + val setting: Setting, @SerialName("__splatoon3ink_king_salmonid_guess") val splatoon3inkKingSalmonidGuess: String, @SerialName("startTime") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt index de77938..f6ff9f0 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class BigRunSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopGroupingSchedule.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopGroupingSchedule.kt index baefdf1..412e5fd 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopGroupingSchedule.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopGroupingSchedule.kt @@ -27,9 +27,9 @@ data class CoopGroupingSchedule( @SerialName("bannerImage") val bannerImage: String?, // is null @SerialName("bigRunSchedules") - val bigRunSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.BigRunSchedules, + val bigRunSchedules: BigRunSchedules, @SerialName("regularSchedules") - val regularSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.RegularSchedules, + val regularSchedules: RegularSchedules, @SerialName("teamContestSchedules") - val teamContestSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.TeamContestSchedules? + val teamContestSchedules: TeamContestSchedules? ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopStage.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopStage.kt index ddfb9da..2cb21da 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopStage.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CoopStage.kt @@ -27,9 +27,9 @@ data class CoopStage( @SerialName("id") val id: String, @SerialName("image") - val image: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Image, + val image: Image, @SerialName("name") val name: String, @SerialName("thumbnailImage") - val thumbnailImage: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.ThumbnailImage + val thumbnailImage: ThumbnailImage ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentFest.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentFest.kt index 63d995e..d13d8fd 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentFest.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentFest.kt @@ -35,9 +35,9 @@ data class CurrentFest( @SerialName("state") val state: String, @SerialName("teams") - val teams: List, + val teams: List, @SerialName("title") val title: String, @SerialName("tricolorStage") - val tricolorStage: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.TricolorStage + val tricolorStage: TricolorStage ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentPlayer.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentPlayer.kt index 3bab50b..5abc31b 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentPlayer.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/CurrentPlayer.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class CurrentPlayer( @SerialName("userIcon") - val userIcon: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.UserIcon + val userIcon: UserIcon ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventNode.kt index 7b7f011..96e1419 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventNode.kt @@ -25,7 +25,7 @@ import kotlinx.serialization.Serializable @Serializable data class EventNode( @SerialName("leagueMatchSetting") - val leagueMatchSetting: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.LeagueMatchSetting, + val leagueMatchSetting: LeagueMatchSetting, @SerialName("timePeriods") - val timePeriods: List + val timePeriods: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventSchedules.kt index f5f3fe3..c86ea33 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/EventSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class EventSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestMatchSettingX.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestMatchSettingX.kt index c759a30..8b212c8 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestMatchSettingX.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestMatchSettingX.kt @@ -29,7 +29,7 @@ data class FestMatchSettingX( @SerialName("__typename") val typename: String, @SerialName("vsRule") - val vsRule: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.VsRule, + val vsRule: VsRule, @SerialName("vsStages") - val vsStages: List + val vsStages: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestNode.kt index e8a438d..b9b4262 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestNode.kt @@ -27,7 +27,7 @@ data class FestNode( @SerialName("endTime") val endTime: String, @SerialName("festMatchSettings") - val festMatchSettings: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.FestMatchSettingX?, + val festMatchSettings: FestMatchSettingX?, @SerialName("startTime") val startTime: String ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestSchedules.kt index 8eed590..d606246 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/FestSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class FestSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/LeagueMatchSetting.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/LeagueMatchSetting.kt index c8e4ba1..8008afc 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/LeagueMatchSetting.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/LeagueMatchSetting.kt @@ -27,11 +27,11 @@ data class LeagueMatchSetting( @SerialName("__isVsSetting") val isVsSetting: String, @SerialName("leagueMatchEvent") - val leagueMatchEvent: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.LeagueMatchEvent, + val leagueMatchEvent: LeagueMatchEvent, @SerialName("__typename") val typename: String, @SerialName("vsRule") - val vsRule: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.VsRule, + val vsRule: VsRule, @SerialName("vsStages") - val vsStages: List + val vsStages: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/MapNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/MapNode.kt index 107545f..b1c3813 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/MapNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/MapNode.kt @@ -29,7 +29,7 @@ data class MapNode( @SerialName("name") val name: String, @SerialName("originalImage") - val originalImage: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.OriginalImage, + val originalImage: OriginalImage, @SerialName("stats") val stats: String?, // is null @SerialName("vsStageId") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularMatchSetting.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularMatchSetting.kt index ffb1d51..44da86c 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularMatchSetting.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularMatchSetting.kt @@ -29,7 +29,7 @@ data class RegularMatchSetting( @SerialName("__typename") val typename: String, @SerialName("vsRule") - val vsRule: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.VsRule, + val vsRule: VsRule, @SerialName("vsStages") - val vsStages: List + val vsStages: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularNode.kt index 48d08fa..321e0be 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularNode.kt @@ -27,9 +27,9 @@ data class RegularNode( @SerialName("endTime") val endTime: String, @SerialName("festMatchSettings") - val festMatchSettings: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.FestMatchSettingXX?, + val festMatchSettings: FestMatchSettingXX?, @SerialName("regularMatchSetting") - val regularMatchSetting: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.RegularMatchSetting, + val regularMatchSetting: RegularMatchSetting, @SerialName("startTime") val startTime: String ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt index 6dc058f..4b96d47 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class RegularSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedulesX.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedulesX.kt index 6995bf3..132b607 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedulesX.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedulesX.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class RegularSchedulesX( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Schedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Schedules.kt index 2d058c6..10c9412 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Schedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Schedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class Schedules( @SerialName("data") - val data: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.SchedulesData + val data: SchedulesData ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/SchedulesData.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/SchedulesData.kt index 9dd136b..21e4c48 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/SchedulesData.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/SchedulesData.kt @@ -25,21 +25,21 @@ import kotlinx.serialization.Serializable @Serializable data class SchedulesData( @SerialName("bankaraSchedules") - val bankaraSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.BankaraSchedules, + val bankaraSchedules: BankaraSchedules, @SerialName("coopGroupingSchedule") - val coopGroupingSchedule: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.CoopGroupingSchedule, + val coopGroupingSchedule: CoopGroupingSchedule, @SerialName("currentFest") - val currentFest: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.CurrentFest?, + val currentFest: CurrentFest?, @SerialName("currentPlayer") - val currentPlayer: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.CurrentPlayer, + val currentPlayer: CurrentPlayer, @SerialName("eventSchedules") - val eventSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.EventSchedules, + val eventSchedules: EventSchedules, @SerialName("festSchedules") - val festSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.FestSchedules, + val festSchedules: FestSchedules, @SerialName("regularSchedules") - val regularSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.RegularSchedulesX, + val regularSchedules: RegularSchedulesX, @SerialName("vsStages") - val vsStages: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.VsStages, + val vsStages: VsStages, @SerialName("xSchedules") - val xSchedules: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.XSchedules + val xSchedules: XSchedules ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Setting.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Setting.kt index ef98cfa..8d1529b 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Setting.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Setting.kt @@ -25,13 +25,13 @@ import kotlinx.serialization.Serializable @Serializable data class Setting( @SerialName("boss") - val boss: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Boss, + val boss: Boss, @SerialName("coopStage") - val coopStage: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.CoopStage, + val coopStage: CoopStage, @SerialName("__isCoopSetting") val isCoopSetting: String, @SerialName("__typename") val typename: String, @SerialName("weapons") - val weapons: List + val weapons: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Team.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Team.kt index f015188..2ee6032 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Team.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Team.kt @@ -25,7 +25,7 @@ import kotlinx.serialization.Serializable @Serializable data class Team( @SerialName("color") - val color: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Color, + val color: Color, @SerialName("id") val id: String, // @SerialName("myVoteState") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/TricolorStage.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/TricolorStage.kt index 958d1a5..21ba8c5 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/TricolorStage.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/TricolorStage.kt @@ -27,7 +27,7 @@ data class TricolorStage( @SerialName("id") val id: String, @SerialName("image") - val image: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Image, + val image: Image, @SerialName("name") val name: String ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStage.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStage.kt index 9d9ecb3..3225c3d 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStage.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStage.kt @@ -27,7 +27,7 @@ data class VsStage( @SerialName("id") val id: String, @SerialName("image") - val image: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Image, + val image: Image, @SerialName("name") val name: String, @SerialName("vsStageId") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStages.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStages.kt index 21d32f1..08501f9 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStages.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/VsStages.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class VsStages( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Weapon.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Weapon.kt index 9b47a82..66f880c 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Weapon.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/Weapon.kt @@ -25,7 +25,7 @@ import kotlinx.serialization.Serializable @Serializable data class Weapon( @SerialName("image") - val image: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.Image, + val image: Image, @SerialName("name") val name: String, @SerialName("__splatoon3ink_id") diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XMatchSetting.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XMatchSetting.kt index 7467db1..5a1dc64 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XMatchSetting.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XMatchSetting.kt @@ -29,7 +29,7 @@ data class XMatchSetting( @SerialName("__typename") val typename: String, @SerialName("vsRule") - val vsRule: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.VsRule, + val vsRule: VsRule, @SerialName("vsStages") - val vsStages: List + val vsStages: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XNode.kt index 1a55bc5..95b8435 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XNode.kt @@ -27,9 +27,9 @@ data class XNode( @SerialName("endTime") val endTime: String, @SerialName("festMatchSettings") - val festMatchSettings: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.FestMatchSettingXX?, + val festMatchSettings: FestMatchSettingXX?, @SerialName("startTime") val startTime: String, @SerialName("xMatchSetting") - val xMatchSetting: net.moonleay.lilJudd.data.api.splatoon3ink.schedules.XMatchSetting + val xMatchSetting: XMatchSetting ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XSchedules.kt index a3939c3..ba079aa 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/XSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class XSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/MatchPlanningDataRepository.kt b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/MatchPlanningDataRepository.kt index 84a1e66..6b0bbd9 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/MatchPlanningDataRepository.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/MatchPlanningDataRepository.kt @@ -51,7 +51,7 @@ object MatchPlanningDataRepository { fun get(id: Int): MatchPlanningDataData? = transaction { - MatchPlanningData.select { MatchPlanningData.id eq id }.firstOrNull()?.let { + MatchPlanningData.selectAll().where { MatchPlanningData.id eq id }.firstOrNull()?.let { MatchPlanningDataData( it[MatchPlanningData.id], it[MatchPlanningData.serverid], @@ -69,7 +69,7 @@ object MatchPlanningDataRepository { fun getFromMessageInChannelInServer(messageID: Long, channelID: Long, serverID: Long): MatchPlanningDataData? = transaction { - MatchPlanningData.select { + MatchPlanningData.selectAll().where { MatchPlanningData.messageid eq (messageID) and ( MatchPlanningData.serverid eq (serverID)) and ( MatchPlanningData.channelid eq (channelID)) @@ -98,15 +98,15 @@ object MatchPlanningDataRepository { fun write(data: MatchPlanningDataData): Int = transaction { MatchPlanningData.insert { - it[MatchPlanningData.serverid] = data.serverID - it[MatchPlanningData.channelid] = data.channelID - it[MatchPlanningData.matchtype] = data.matchType - it[MatchPlanningData.registererid] = data.registererID - it[MatchPlanningData.roleid] = data.roleID - it[MatchPlanningData.opponentName] = data.opponentName - it[MatchPlanningData.messageid] = data.messageID - it[MatchPlanningData.timestamp] = data.timestamp - it[MatchPlanningData.jobstr] = data.jobString + it[serverid] = data.serverID + it[channelid] = data.channelID + it[matchtype] = data.matchType + it[registererid] = data.registererID + it[roleid] = data.roleID + it[opponentName] = data.opponentName + it[messageid] = data.messageID + it[timestamp] = data.timestamp + it[jobstr] = data.jobString } get MatchPlanningData.id } } diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/PlanningNotifierRolesRepository.kt b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/PlanningNotifierRolesRepository.kt index 4059e70..eea22df 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/PlanningNotifierRolesRepository.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/PlanningNotifierRolesRepository.kt @@ -46,9 +46,7 @@ object PlanningNotifierRolesRepository { fun getForChannel(channelID: Long): PlanningNotifierRolesData? = transaction { - PlanningNotifierRoles.select { - PlanningNotifierRoles.channelid eq channelID - }.firstOrNull()?.let { + PlanningNotifierRoles.selectAll().where { PlanningNotifierRoles.channelid eq channelID }.firstOrNull()?.let { PlanningNotifierRolesData( it[PlanningNotifierRoles.id], it[PlanningNotifierRoles.serverid], @@ -61,9 +59,9 @@ object PlanningNotifierRolesRepository { fun getForChannelInServer(channelID: Long, serverID: Long): PlanningNotifierRolesData? = transaction { - PlanningNotifierRoles.select { - PlanningNotifierRoles.channelid eq channelID and (PlanningNotifierRoles.serverid eq serverID) - }.firstOrNull()?.let { + PlanningNotifierRoles.selectAll() + .where { PlanningNotifierRoles.channelid eq channelID and (PlanningNotifierRoles.serverid eq serverID) } + .firstOrNull()?.let { PlanningNotifierRolesData( it[PlanningNotifierRoles.id], it[PlanningNotifierRoles.serverid], @@ -76,22 +74,23 @@ object PlanningNotifierRolesRepository { fun existsInChannel(channelID: Long): Boolean = transaction { - PlanningNotifierRoles.select { PlanningNotifierRoles.channelid eq channelID }.count() > 0 + PlanningNotifierRoles.selectAll().where { PlanningNotifierRoles.channelid eq channelID }.count() > 0 } fun existsInChannelFromSever(channelID: Long, serverID: Long): Boolean = transaction { - PlanningNotifierRoles.select { PlanningNotifierRoles.channelid eq channelID and (PlanningNotifierRoles.serverid eq serverID) } + PlanningNotifierRoles.selectAll() + .where { PlanningNotifierRoles.channelid eq channelID and (PlanningNotifierRoles.serverid eq serverID) } .count() > 0 } fun write(data: PlanningNotifierRolesData) { transaction { PlanningNotifierRoles.insert { - it[PlanningNotifierRoles.serverid] = data.serverID - it[PlanningNotifierRoles.channelid] = data.channelID - it[PlanningNotifierRoles.hastimeroleid] = data.hasTimeRoleID - it[PlanningNotifierRoles.wantstobenotifiedid] = data.wantsToBeNotifiedID + it[serverid] = data.serverID + it[channelid] = data.channelID + it[hastimeroleid] = data.hasTimeRoleID + it[wantstobenotifiedid] = data.wantsToBeNotifiedID } get PlanningNotifierRoles.id } } diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningChannelsRepository.kt b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningChannelsRepository.kt index f5fd171..305a8b5 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningChannelsRepository.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningChannelsRepository.kt @@ -43,7 +43,8 @@ object TimePlanningChannelsRepository { fun exists(channelID: Long, serverID: Long): Boolean = transaction { - TimePlanningChannels.select { TimePlanningChannels.channelid eq channelID and (TimePlanningChannels.serverid eq serverID) } + TimePlanningChannels.selectAll() + .where { TimePlanningChannels.channelid eq channelID and (TimePlanningChannels.serverid eq serverID) } .firstOrNull() != null } @@ -55,15 +56,15 @@ object TimePlanningChannelsRepository { fun deleteFromChannelInServer(channelID: Long, serverID: Long) { transaction { - TimePlanningChannels.deleteWhere { TimePlanningChannels.channelid eq channelID and (TimePlanningChannels.serverid eq serverID) } + TimePlanningChannels.deleteWhere { channelid eq channelID and (serverid eq serverID) } } } fun write(data: TimePlanningChannelsData): Int = transaction { TimePlanningChannels.insert { - it[TimePlanningChannels.serverid] = data.serverID - it[TimePlanningChannels.channelid] = data.channelID + it[serverid] = data.serverID + it[channelid] = data.channelID } get TimePlanningChannels.id } } diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningMessagesRepository.kt b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningMessagesRepository.kt index 780a939..fad3a7c 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningMessagesRepository.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/database/repository/TimePlanningMessagesRepository.kt @@ -20,9 +20,8 @@ package net.moonleay.lilJudd.data.database.repository import net.moonleay.lilJudd.data.database.entry.TimePlanningMessagesData import net.moonleay.lilJudd.data.database.tables.TimePlanningMessages -import org.jetbrains.exposed.sql.and -import org.jetbrains.exposed.sql.insert -import org.jetbrains.exposed.sql.select +import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.transactions.transaction object TimePlanningMessagesRepository { @@ -40,9 +39,7 @@ object TimePlanningMessagesRepository { fun getWeek(stamp: Long): List { val dataList = mutableListOf() transaction { - for (pnr in TimePlanningMessages.select { - TimePlanningMessages.weekstamp eq (stamp) - }) { + for (pnr in TimePlanningMessages.selectAll().where { TimePlanningMessages.weekstamp eq (stamp) }) { dataList.add( TimePlanningMessagesData( pnr[TimePlanningMessages.id], @@ -59,9 +56,8 @@ object TimePlanningMessagesRepository { fun getWeekInChannel(stamp: Long, channelID: Long): TimePlanningMessagesData? = transaction { - TimePlanningMessages.select { - TimePlanningMessages.weekstamp eq (stamp) and (TimePlanningMessages.channelid eq channelID) - }.firstOrNull()?.let { + TimePlanningMessages.selectAll() + .where { TimePlanningMessages.weekstamp eq (stamp) and (TimePlanningMessages.channelid eq channelID) }.firstOrNull()?.let { TimePlanningMessagesData( it[TimePlanningMessages.id], it[TimePlanningMessages.serverid], diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt index acd59f4..f5d7c32 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt @@ -41,7 +41,7 @@ class SendPlannerExtension : Extension() { get() = false override suspend fun setup() { - publicSlashCommand() { + publicSlashCommand { name = "sendplanner" description = "Send the planner for the current week" this.action { diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt index 1d0ad06..6d29add 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt @@ -34,7 +34,7 @@ class UpdateRolesExtension : Extension() { get() = false override suspend fun setup() { - publicSlashCommand() { + publicSlashCommand { name = "updateroles" description = "Update the roles of the members in the current server" this.action { From 97d4143cda475737404c4e4fa58c711074f1bc34 Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 19 Jan 2024 22:39:43 +0100 Subject: [PATCH 2/7] chore: fixed wrong class naming Signed-off-by: moonleay --- .../lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt | 2 +- .../lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt | 2 +- .../schedules/{BigRunScheduleNode.kt => SalmonRunNode.kt} | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/{BigRunScheduleNode.kt => SalmonRunNode.kt} (97%) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt index f6ff9f0..47b5890 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class BigRunSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt index 4b96d47..ab2ccd8 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/RegularSchedules.kt @@ -25,5 +25,5 @@ import kotlinx.serialization.Serializable @Serializable data class RegularSchedules( @SerialName("nodes") - val nodes: List + val nodes: List ) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunScheduleNode.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/SalmonRunNode.kt similarity index 97% rename from src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunScheduleNode.kt rename to src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/SalmonRunNode.kt index 583e7c4..85c4c8a 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/BigRunScheduleNode.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/schedules/SalmonRunNode.kt @@ -23,7 +23,7 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable -data class BigRunScheduleNode( +data class SalmonRunNode( @SerialName("endTime") val endTime: String, @SerialName("setting") From 39917e4b5a633277055a138b7913c13ac548dacf Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 19 Jan 2024 22:40:08 +0100 Subject: [PATCH 3/7] feat: updated and improved DataGrabber methods Signed-off-by: moonleay --- .../splatoon3ink/Splatoon3ApiDataGrabber.kt | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt index 298e943..f24a46f 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/data/api/splatoon3ink/Splatoon3ApiDataGrabber.kt @@ -1,6 +1,6 @@ /* * lilJudd - * Copyright (C) 2023 moonleay + * Copyright (C) 2024 moonleay * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,11 +20,12 @@ package net.moonleay.lilJudd.data.api.splatoon3ink import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.BankaraNode import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.RegularNode +import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.SalmonRunNode import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.XNode import net.moonleay.lilJudd.util.TimeUtil object Splatoon3ApiDataGrabber { - private fun getRegularMode(timestamp: Long): RegularNode { + fun getRegularMode(timestamp: Long): RegularNode { Splatoon3Api.schedules!!.data.regularSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") @@ -35,7 +36,7 @@ object Splatoon3ApiDataGrabber { throw Exception("No current mode found") } - private fun getOpenMode(timestamp: Long): BankaraNode { + fun getOpenMode(timestamp: Long): BankaraNode { Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") @@ -49,7 +50,7 @@ object Splatoon3ApiDataGrabber { throw Exception("No current mode found") } - private fun getXMode(timestamp: Long): XNode { + fun getXMode(timestamp: Long): XNode { Splatoon3Api.schedules!!.data.xSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") @@ -60,7 +61,7 @@ object Splatoon3ApiDataGrabber { throw Exception("No current mode found") } - private fun getSeriesMode(timestamp: Long): BankaraNode { + fun getSeriesMode(timestamp: Long): BankaraNode { Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData -> val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") @@ -74,6 +75,16 @@ object Splatoon3ApiDataGrabber { throw Exception("No current mode found") } + fun getSalmonRun(timestamp: Long): SalmonRunNode { + Splatoon3Api.schedules!!.data.coopGroupingSchedule.regularSchedules.nodes.map { modeData -> + val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC") + val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") + if (timestamp in startTime..endTime) { + return modeData + } + } + throw Exception("No current mode found") + } fun getRotationTime(timestamp: Long): String { val modeData = getRegularMode(timestamp) val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC") From 58f2379f45979736441f9d1817016c2aadb5bf39 Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 19 Jan 2024 22:41:29 +0100 Subject: [PATCH 4/7] fix: make the StatusUpdater Run every 30 seconds instead of 10 to reduce the nr of status updates sent to Discord and avoid issues with updating the status Signed-off-by: moonleay --- src/main/kotlin/net/moonleay/lilJudd/jobs/StatusUpdater.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/net/moonleay/lilJudd/jobs/StatusUpdater.kt b/src/main/kotlin/net/moonleay/lilJudd/jobs/StatusUpdater.kt index 4aa8fb3..7fed538 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/jobs/StatusUpdater.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/jobs/StatusUpdater.kt @@ -30,7 +30,7 @@ object StatusUpdater : ICronjob { override val jobName: String get() = "StatusUpdater" override val jobIncoming: String - get() = "/10 * * * * * 0o *" //Every 5 seconds + get() = "/30 * * * * * 0o *" //Every 30 seconds override val jobType: CronjobType get() = CronjobType.INFINITE override val continueJob: Boolean From 05b4dc39b51c045eb4849c4c9e62b2e66cd223bf Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 19 Jan 2024 22:41:52 +0100 Subject: [PATCH 5/7] feat: added new JSON time getter Signed-off-by: moonleay --- .../net/moonleay/lilJudd/util/TimeUtil.kt | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/net/moonleay/lilJudd/util/TimeUtil.kt b/src/main/kotlin/net/moonleay/lilJudd/util/TimeUtil.kt index dba203c..acf0da8 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/util/TimeUtil.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/util/TimeUtil.kt @@ -1,6 +1,6 @@ /* * lilJudd - * Copyright (C) 2023 moonleay + * Copyright (C) 2024 moonleay * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -177,6 +177,24 @@ object TimeUtil { return ZonedDateTime.of(localDateTime, zoneId).toEpochSecond() * 1000 } + fun getTimeFromJSONTime(inp: String, zone: String): String { + // 2023-10-05T08:00:00Z + val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'") + val localDateTime = LocalDateTime.parse(inp, formatter) + val zoneId = ZoneId.of(zone) // TODO: Add the possibility to set your timezone + val returnFormat = DateTimeFormatter.ofPattern("HH:mm") + return ZonedDateTime.of(localDateTime, zoneId).format(returnFormat) + } + + fun getTimeFromJSONTimeLong(inp: String, zone: String): String { + // 2023-10-05T08:00:00Z + val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'") + val localDateTime = LocalDateTime.parse(inp, formatter) + val zoneId = ZoneId.of(zone) // TODO: Add the possibility to set your timezone + val returnFormat = DateTimeFormatter.ofPattern("dd'/'MM',' HH:mm") + return ZonedDateTime.of(localDateTime, zoneId).format(returnFormat) + } + fun getTimeDifferenceFormatted(start: Long, end: Long): String { val diff = end - start return getTimeFormatedShortend(diff, false) From 98cdbebf795b1ba71f7639a822fd41426da0aee8 Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 19 Jan 2024 22:42:14 +0100 Subject: [PATCH 6/7] feat: added RotationExtension Signed-off-by: moonleay --- src/main/kotlin/net/moonleay/lilJudd/Bot.kt | 1 + .../lilJudd/extensions/RotationExtension.kt | 464 ++++++++++++++++++ .../component/SplatoonOnlineMode.kt | 30 ++ 3 files changed, 495 insertions(+) create mode 100644 src/main/kotlin/net/moonleay/lilJudd/extensions/RotationExtension.kt create mode 100644 src/main/kotlin/net/moonleay/lilJudd/extensions/component/SplatoonOnlineMode.kt diff --git a/src/main/kotlin/net/moonleay/lilJudd/Bot.kt b/src/main/kotlin/net/moonleay/lilJudd/Bot.kt index 8282212..4196213 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/Bot.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/Bot.kt @@ -113,6 +113,7 @@ object Bot { add(::SendPlannerExtension) add(::MatchExtension) add(::UpdateRolesExtension) + add(::RotationExtension) } this.presence { diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/RotationExtension.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/RotationExtension.kt new file mode 100644 index 0000000..9c458b5 --- /dev/null +++ b/src/main/kotlin/net/moonleay/lilJudd/extensions/RotationExtension.kt @@ -0,0 +1,464 @@ +/* + * lilJudd + * Copyright (C) 2024 moonleay + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package net.moonleay.lilJudd.extensions + +import com.kotlindiscord.kord.extensions.commands.Arguments +import com.kotlindiscord.kord.extensions.commands.application.slash.converters.impl.enumChoice +import com.kotlindiscord.kord.extensions.extensions.Extension +import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand +import dev.kord.common.Color +import dev.kord.rest.builder.message.embed +import kotlinx.datetime.Clock +import net.moonleay.lilJudd.data.api.splatoon3ink.Splatoon3ApiDataGrabber +import net.moonleay.lilJudd.extensions.component.SplatoonOnlineMode +import net.moonleay.lilJudd.util.TimeUtil + +class RotationExtension : Extension() { + + override val name = "rotation" + override val allowApplicationCommandInDMs: Boolean + get() = false + + + override suspend fun setup() { + publicSlashCommand(::RotationArguments) { + name = "rotation" + description = "Check the current rotations" + this.action { + val mode = this.arguments.mode + when (mode) { + SplatoonOnlineMode.ALL -> { + val regSched = Splatoon3ApiDataGrabber.getRegularMode(System.currentTimeMillis()) + val regMaps = regSched.regularMatchSetting.vsStages + val regMap1 = regMaps[0] + val regMap2 = regMaps[1] + + val serSched = Splatoon3ApiDataGrabber.getSeriesMode(System.currentTimeMillis()) + val serMaps = serSched.bankaraMatchSettings!!.first().vsStages + val serMap1 = serMaps[0] + val serMap2 = serMaps[1] + + val opnSched = Splatoon3ApiDataGrabber.getSeriesMode(System.currentTimeMillis()) + val opnMaps = opnSched.bankaraMatchSettings!!.last().vsStages + val opnMap1 = opnMaps[0] + val opnMap2 = opnMaps[1] + + val xSched = Splatoon3ApiDataGrabber.getXMode(System.currentTimeMillis()) + val xMaps = xSched.xMatchSetting.vsStages + val xMap1 = xMaps[0] + val xMap2 = xMaps[1] + + val salSched = Splatoon3ApiDataGrabber.getSalmonRun(System.currentTimeMillis()) + val salMap = salSched.setting.coopStage.name + val salBoss = salSched.setting.boss.name + val salWeapons = salSched.setting.weapons + + this.respond { + this.embed { + this.author { + this.name = "Current rotation for" + } + this.title = "All Modes" + this.description = "[[Open on website](https://splatoon3.ink/)]" + this.color = Color(0x1437FF) + + this.thumbnail { + this.url = "https://static.moonleay.net/img/lilJudd/deepcut.png" + } + + this.field { + this.name = "Regular (${ + TimeUtil.getTimeFromJSONTime( + regSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(regSched.endTime, "UTC")})" + this.value = + "${regSched.regularMatchSetting.vsRule.name} on ${regMap1.name} & ${regMap2.name}" + this.inline = false + } + + this.field { + this.name = "Series (${ + TimeUtil.getTimeFromJSONTime( + serSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(serSched.endTime, "UTC")})" + this.value = + "${serSched.bankaraMatchSettings.first().vsRule.name} on ${serMap1.name} & ${serMap2.name}" + this.inline = false + } + + this.field { + this.name = "Open (${ + TimeUtil.getTimeFromJSONTime( + opnSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(opnSched.endTime, "UTC")})" + this.value = + "${opnSched.bankaraMatchSettings.last().vsRule.name} on ${opnMap1.name} & ${opnMap2.name}" + this.inline = false + } + + this.field { + this.name = "X (${ + TimeUtil.getTimeFromJSONTime( + xSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(xSched.endTime, "UTC")})" + this.value = "${xSched.xMatchSetting.vsRule.name} on ${xMap1.name} & ${xMap2.name}" + this.inline = false + } + + this.field { + this.name = "Salmon Run (${ + TimeUtil.getTimeFromJSONTimeLong( + salSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTimeLong(salSched.endTime, "UTC")})" + this.value = + "${salBoss} on ${salMap} with ${salWeapons[0].name}, ${salWeapons[1].name}, ${salWeapons[2].name} & ${salWeapons[3].name}" + this.inline = false + } + + this.timestamp = Clock.System.now() + this.footer { + this.text = "Data provided by splatoon3.ink" + this.icon = "https://fedi.splatoon3.ink/favicon.png" + } + + } + } + } + + SplatoonOnlineMode.REGULAR -> { + val regSched = Splatoon3ApiDataGrabber.getRegularMode(System.currentTimeMillis()) + val regMaps = regSched.regularMatchSetting.vsStages + val regMap1 = regMaps[0] + val regMap2 = regMaps[1] + + val regSched2 = + Splatoon3ApiDataGrabber.getRegularMode(System.currentTimeMillis() + 1000 * 60 * 60 * 2) + val regMaps2 = regSched2.regularMatchSetting.vsStages + val regMap12 = regMaps2[0] + val regMap22 = regMaps2[1] + + this.respond { + this.embed { + this.author { + this.name = "Current rotation for" + } + this.title = "Regular Mode" + this.description = "[[Open on website](https://splatoon3.ink/)]" + this.color = Color(0x18c81b) + + this.thumbnail { + this.url = "https://static.moonleay.net/img/lilJudd/regular.png" + } + + this.field { + this.name = "Current (${ + TimeUtil.getTimeFromJSONTime( + regSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(regSched.endTime, "UTC")})" + this.value = + "${regSched.regularMatchSetting.vsRule.name} on ${regMap1.name} & ${regMap2.name}" + this.inline = false + } + + this.field { + this.name = "${ + TimeUtil.getTimeFromJSONTime( + regSched2.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(regSched2.endTime, "UTC")}" + this.value = + "${regSched2.regularMatchSetting.vsRule.name} on ${regMap12.name} & ${regMap22.name}" + this.inline = false + } + + + this.timestamp = Clock.System.now() + this.footer { + this.text = "Data provided by splatoon3.ink" + this.icon = "https://fedi.splatoon3.ink/favicon.png" + } + + } + } + } + + SplatoonOnlineMode.SERIES -> { + val serSched = Splatoon3ApiDataGrabber.getSeriesMode(System.currentTimeMillis()) + val serMaps = serSched.bankaraMatchSettings!!.first().vsStages + val serMap1 = serMaps[0] + val serMap2 = serMaps[1] + + val serSched2 = + Splatoon3ApiDataGrabber.getSeriesMode(System.currentTimeMillis() + 1000 * 60 * 60 * 2) + val serMaps2 = serSched2.bankaraMatchSettings!!.first().vsStages + val serMap12 = serMaps2[0] + val serMap22 = serMaps2[1] + + this.respond { + this.embed { + this.author { + this.name = "Current rotation for" + } + this.title = "Ranked Series Mode" + this.description = "[[Open on website](https://splatoon3.ink/)]" + this.color = Color(0xE14412) + + this.thumbnail { + this.url = "https://static.moonleay.net/img/lilJudd/bankara.png" + } + + this.field { + this.name = "Current (${ + TimeUtil.getTimeFromJSONTime( + serSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(serSched.endTime, "UTC")})" + this.value = + "${serSched.bankaraMatchSettings.first().vsRule.name} on ${serMap1.name} & ${serMap2.name}" + this.inline = false + } + + this.field { + this.name = "${ + TimeUtil.getTimeFromJSONTime( + serSched2.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(serSched2.endTime, "UTC")}" + this.value = + "${serSched2.bankaraMatchSettings.first().vsRule.name} on ${serMap12.name} & ${serMap22.name}" + this.inline = false + } + + + this.timestamp = Clock.System.now() + this.footer { + this.text = "Data provided by splatoon3.ink" + this.icon = "https://fedi.splatoon3.ink/favicon.png" + } + + } + } + } + + SplatoonOnlineMode.OPEN -> { + val opnSched = Splatoon3ApiDataGrabber.getSeriesMode(System.currentTimeMillis()) + val opnMaps = opnSched.bankaraMatchSettings!!.last().vsStages + val opnMap1 = opnMaps[0] + val opnMap2 = opnMaps[1] + + val opnSched2 = + Splatoon3ApiDataGrabber.getSeriesMode(System.currentTimeMillis() + 1000 * 60 * 60 * 2) + val opnMaps2 = opnSched2.bankaraMatchSettings!!.last().vsStages + val opnMap12 = opnMaps2[0] + val opnMap22 = opnMaps2[1] + + this.respond { + this.embed { + this.author { + this.name = "Current rotation for" + } + this.title = "Ranked Open Mode" + this.description = "[[Open on website](https://splatoon3.ink/)]" + this.color = Color(0xE14412) + + this.thumbnail { + this.url = "https://static.moonleay.net/img/lilJudd/bankara.png" + } + + this.field { + this.name = "Current (${ + TimeUtil.getTimeFromJSONTime( + opnSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(opnSched.endTime, "UTC")})" + this.value = + "${opnSched.bankaraMatchSettings.last().vsRule.name} on ${opnMap1.name} & ${opnMap2.name}" + this.inline = false + } + + this.field { + this.name = "${ + TimeUtil.getTimeFromJSONTime( + opnSched2.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(opnSched2.endTime, "UTC")}" + this.value = + "${opnSched2.bankaraMatchSettings.last().vsRule.name} on ${opnMap12.name} & ${opnMap22.name}" + this.inline = false + } + + + this.timestamp = Clock.System.now() + this.footer { + this.text = "Data provided by splatoon3.ink" + this.icon = "https://fedi.splatoon3.ink/favicon.png" + } + + } + } + } + + SplatoonOnlineMode.X -> { + val xSched = Splatoon3ApiDataGrabber.getXMode(System.currentTimeMillis()) + val xMaps = xSched.xMatchSetting.vsStages + val xMap1 = xMaps[0] + val xMap2 = xMaps[1] + + val xSched2 = Splatoon3ApiDataGrabber.getXMode(System.currentTimeMillis() + 1000 * 60 * 60 * 2) + val xMaps2 = xSched2.xMatchSetting.vsStages + val xMap12 = xMaps2[0] + val xMap22 = xMaps2[1] + + this.respond { + this.embed { + this.author { + this.name = "Current rotation for" + } + this.title = "X Mode" + this.description = "[[Open on website](https://splatoon3.ink/)]" + this.color = Color(0x0ECB93) + + this.thumbnail { + this.url = "https://static.moonleay.net/img/lilJudd/x.png" + } + + this.field { + this.name = "Current (${ + TimeUtil.getTimeFromJSONTime( + xSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(xSched.endTime, "UTC")})" + this.value = "${xSched.xMatchSetting.vsRule.name} on ${xMap1.name} & ${xMap2.name}" + this.inline = false + } + + this.field { + this.name = "${ + TimeUtil.getTimeFromJSONTime( + xSched2.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTime(xSched2.endTime, "UTC")}" + this.value = + "${xSched2.xMatchSetting.vsRule.name} on ${xMap12.name} & ${xMap22.name}" + this.inline = false + } + + + this.timestamp = Clock.System.now() + this.footer { + this.text = "Data provided by splatoon3.ink" + this.icon = "https://fedi.splatoon3.ink/favicon.png" + } + + } + } + } + + SplatoonOnlineMode.SALMON_RUN -> { + val salSched = Splatoon3ApiDataGrabber.getSalmonRun(System.currentTimeMillis()) + val salMap = salSched.setting.coopStage.name + val salBoss = salSched.setting.boss.name + val salWeapons = salSched.setting.weapons + + val salSched2 = + Splatoon3ApiDataGrabber.getSalmonRun(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 2) + val salMap2 = salSched2.setting.coopStage.name + val salBoss2 = salSched2.setting.boss.name + val salWeapons2 = salSched2.setting.weapons + + this.respond { + this.embed { + this.author { + this.name = "Current rotation for" + } + this.title = "Salmon Run" + this.description = "[[Open on website](https://splatoon3.ink/salmonrun)]" + this.color = Color(0xEA4F03) + + this.thumbnail { + this.url = "https://static.moonleay.net/img/lilJudd/grizz.png" + } + + this.field { + this.name = "Current (${ + TimeUtil.getTimeFromJSONTimeLong( + salSched.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTimeLong(salSched.endTime, "UTC")})" + this.value = + "${salBoss} on ${salMap} with ${salWeapons[0].name}, ${salWeapons[1].name}, ${salWeapons[2].name} & ${salWeapons[3].name}" + this.inline = false + } + + this.field { + this.name = "${ + TimeUtil.getTimeFromJSONTimeLong( + salSched2.startTime, + "UTC" + ) + } - ${TimeUtil.getTimeFromJSONTimeLong(salSched2.endTime, "UTC")}" + this.value = + "${salBoss2} on ${salMap2} with ${salWeapons2[0].name}, ${salWeapons2[1].name}, ${salWeapons2[2].name} & ${salWeapons2[3].name}" + this.inline = false + } + + + this.timestamp = Clock.System.now() + this.footer { + this.text = "Data provided by splatoon3.ink" + this.icon = "https://fedi.splatoon3.ink/favicon.png" + } + } + } + } + } + } + } + } + + inner class RotationArguments : Arguments() { + + val mode by enumChoice { + this.name = "mode" + this.description = "The mode you want to check the rotation for" + this.typeName = "en_US" + } + } + +} diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/component/SplatoonOnlineMode.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/component/SplatoonOnlineMode.kt new file mode 100644 index 0000000..c6ae569 --- /dev/null +++ b/src/main/kotlin/net/moonleay/lilJudd/extensions/component/SplatoonOnlineMode.kt @@ -0,0 +1,30 @@ +/* + * lilJudd + * Copyright (C) 2024 moonleay + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package net.moonleay.lilJudd.extensions.component + +import com.kotlindiscord.kord.extensions.commands.application.slash.converters.ChoiceEnum + +enum class SplatoonOnlineMode(override val readableName: String) : ChoiceEnum { + ALL("All Modes"), + REGULAR("Regular Battle"), + SERIES("Ranked Battle (Series)"), + OPEN("Ranked Battle (Open)"), + X("X Battle"), + SALMON_RUN("Salmon Run"), +} From 02b29da5fdcd77d6ffb1ba63f28197ea87f945ad Mon Sep 17 00:00:00 2001 From: moonleay Date: Fri, 19 Jan 2024 22:42:22 +0100 Subject: [PATCH 7/7] chore: bump version Signed-off-by: moonleay --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5b2caaa..2da3144 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,7 +33,7 @@ val ownerID = 372703841151614976L group = "net.moonleay.liljudd" version = System.getenv("CI_COMMIT_TAG")?.let { "$it-${System.getenv("CI_COMMIT_SHORT_SHA")}-prod" } ?: System.getenv("CI_COMMIT_SHORT_SHA")?.let { "$it-dev" } - ?: "2.6.8" + ?: "2.7.0" val kordver = "1.7.1-SNAPSHOT" val coroutinesver = "1.7.3"