From db6bb6b275e465df5755777c0dff5c2820e559f8 Mon Sep 17 00:00:00 2001 From: xGabrielDEV <58668092+xGabrielDEV@users.noreply.github.com> Date: Sun, 14 Mar 2021 17:04:23 -0300 Subject: [PATCH] Check if user is member instead of directly giving the sonhos rewards --- .../daily/DailyGuildMissingRequirement.kt | 1 + .../api/v1/economy/GetLoriDailyRewardRoute.kt | 20 ++++++++++++++++++- .../donatorsostentation/NitroBoostUtils.kt | 4 ++-- .../spicymorenitta/routes/DailyRoute.kt | 4 +++- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/loritta-api/src/commonMain/kotlin/net/perfectdreams/loritta/utils/daily/DailyGuildMissingRequirement.kt b/loritta-api/src/commonMain/kotlin/net/perfectdreams/loritta/utils/daily/DailyGuildMissingRequirement.kt index 90aeb5184a..d22cd9e367 100644 --- a/loritta-api/src/commonMain/kotlin/net/perfectdreams/loritta/utils/daily/DailyGuildMissingRequirement.kt +++ b/loritta-api/src/commonMain/kotlin/net/perfectdreams/loritta/utils/daily/DailyGuildMissingRequirement.kt @@ -1,6 +1,7 @@ package net.perfectdreams.loritta.utils.daily enum class DailyGuildMissingRequirement { + USER_NOT_MEMBER, REQUIRES_MORE_TIME, REQUIRES_MORE_XP } \ No newline at end of file diff --git a/loritta-discord/src/main/java/net/perfectdreams/loritta/website/routes/api/v1/economy/GetLoriDailyRewardRoute.kt b/loritta-discord/src/main/java/net/perfectdreams/loritta/website/routes/api/v1/economy/GetLoriDailyRewardRoute.kt index 6c719a72cc..2fe8d6fa5f 100644 --- a/loritta-discord/src/main/java/net/perfectdreams/loritta/website/routes/api/v1/economy/GetLoriDailyRewardRoute.kt +++ b/loritta-discord/src/main/java/net/perfectdreams/loritta/website/routes/api/v1/economy/GetLoriDailyRewardRoute.kt @@ -309,6 +309,24 @@ class GetLoriDailyRewardRoute(loritta: LorittaDiscord) : RequiresAPIDiscordLogin ?: continue val id = guild.id.toLong() + val jdaUser = lorittaShards.getUserById(userIdentification.id.toLong()) + val jdaGuild = lorittaShards.getGuildById(id) + + if (jdaUser?.let { jdaGuild?.isMember(it) } == false) { + failedDailyServersInfo.add( + jsonObject( + "guild" to jsonObject( + "name" to guild.name, + "iconUrl" to guild.icon, + "id" to guild.id + ), + "type" to DailyGuildMissingRequirement.USER_NOT_MEMBER.toString(), + "multiplier" to getDailyMultiplier(donationValue) + ) + ) + continue + } + val xp = GuildProfile.find { (GuildProfiles.guildId eq id) and (GuildProfiles.userId eq userIdentification.id.toLong()) }.firstOrNull()?.xp ?: 0L @@ -320,8 +338,8 @@ class GetLoriDailyRewardRoute(loritta: LorittaDiscord) : RequiresAPIDiscordLogin "iconUrl" to guild.icon, "id" to guild.id ), - "type" to DailyGuildMissingRequirement.REQUIRES_MORE_XP.toString(), "data" to 500 - xp, + "type" to DailyGuildMissingRequirement.REQUIRES_MORE_XP.toString(), "multiplier" to getDailyMultiplier(donationValue) ) ) diff --git a/loritta-plugins/donators-ostentation/src/main/kotlin/net/perfectdreams/loritta/plugin/donatorsostentation/NitroBoostUtils.kt b/loritta-plugins/donators-ostentation/src/main/kotlin/net/perfectdreams/loritta/plugin/donatorsostentation/NitroBoostUtils.kt index ed9af8b1df..6471b8e108 100644 --- a/loritta-plugins/donators-ostentation/src/main/kotlin/net/perfectdreams/loritta/plugin/donatorsostentation/NitroBoostUtils.kt +++ b/loritta-plugins/donators-ostentation/src/main/kotlin/net/perfectdreams/loritta/plugin/donatorsostentation/NitroBoostUtils.kt @@ -57,9 +57,9 @@ object NitroBoostUtils { logger.info { "Guild $guild has donation features enabled! Giving sonhos to $boosters" } loritta.newSuspendedTransaction { - Profiles.update({ Profiles.id inList boosters.map { it.user.idLong } }) { + Profiles.update({ Profiles.id inList boosters.filter { guild.isMember(it.user) }.map { it.user.idLong } }) { with(SqlExpressionBuilder) { - it.update(money, money + 2) + it.update(money, money + 4) } } } diff --git a/loritta-website/spicy-morenitta/src/main/kotlin/net/perfectdreams/spicymorenitta/routes/DailyRoute.kt b/loritta-website/spicy-morenitta/src/main/kotlin/net/perfectdreams/spicymorenitta/routes/DailyRoute.kt index 6812beaa5c..3b84c4a6db 100644 --- a/loritta-website/spicy-morenitta/src/main/kotlin/net/perfectdreams/spicymorenitta/routes/DailyRoute.kt +++ b/loritta-website/spicy-morenitta/src/main/kotlin/net/perfectdreams/spicymorenitta/routes/DailyRoute.kt @@ -282,8 +282,10 @@ class DailyRoute(val m: SpicyMorenitta) : UpdateNavbarSizePostRender("/daily") { DailyGuildMissingRequirement.REQUIRES_MORE_XP -> { +"sendo mais ativo em " } + DailyGuildMissingRequirement.USER_NOT_MEMBER -> { + +"ou entrando novamente em " + } } - +failedGuild.guild.name +"!" }