From 73aad8a721228cecc1ff5c42e4548f55ecafe997 Mon Sep 17 00:00:00 2001 From: Conatum Date: Thu, 26 Oct 2023 13:49:03 +0300 Subject: [PATCH] feat(premium): Ad-whitelist premium guilds. --- src/modules/sponsors/cog.py | 10 +++++++--- src/modules/statistics/ui/leaderboard.py | 5 +++-- src/modules/statistics/ui/profile.py | 4 +++- src/modules/statistics/ui/weeklymonthly.py | 4 +++- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/modules/sponsors/cog.py b/src/modules/sponsors/cog.py index 8362dc36..267c7d63 100644 --- a/src/modules/sponsors/cog.py +++ b/src/modules/sponsors/cog.py @@ -36,9 +36,13 @@ class SponsorCog(LionCog): """ if not interaction.is_expired(): # TODO: caching - whitelist = (await self.settings.Whitelist.get(self.bot.appname)).value - if interaction.guild and interaction.guild.id in whitelist: - return + if interaction.guild: + whitelist = (await self.settings.Whitelist.get(self.bot.appname)).value + if interaction.guild.id in whitelist: + return + premiumcog = self.bot.get_cog('PremiumCog') + if premiumcog and await premiumcog.is_premium_guild(interaction.guild.id): + return setting = await self.settings.SponsorPrompt.get(self.bot.appname) value = setting.value if value: diff --git a/src/modules/statistics/ui/leaderboard.py b/src/modules/statistics/ui/leaderboard.py index f21a88a6..48c27005 100644 --- a/src/modules/statistics/ui/leaderboard.py +++ b/src/modules/statistics/ui/leaderboard.py @@ -537,10 +537,11 @@ class LeaderboardUI(StatsUI): period_row, page_row ] - voting = self.bot.get_cog('TopggCog') if voting and not await voting.check_voted_recently(self.userid): - self._layout.append((voting.vote_button(),)) + premiumcog = self.bot.get_cog('PremiumCog') + if not (premiumcog and await premiumcog.is_premium_guild(self.guild.id)): + self._layout.append((voting.vote_button(),)) async def reload(self): """ diff --git a/src/modules/statistics/ui/profile.py b/src/modules/statistics/ui/profile.py index e59fb8cd..c9c39479 100644 --- a/src/modules/statistics/ui/profile.py +++ b/src/modules/statistics/ui/profile.py @@ -299,7 +299,9 @@ class ProfileUI(StatsUI): voting = self.bot.get_cog('TopggCog') if voting and not await voting.check_voted_recently(self.userid): - self._layout.append((voting.vote_button(),)) + premiumcog = self.bot.get_cog('PremiumCog') + if not (premiumcog and await premiumcog.is_premium_guild(self.guild.id)): + self._layout.append((voting.vote_button(),)) async def _render_stats(self): """ diff --git a/src/modules/statistics/ui/weeklymonthly.py b/src/modules/statistics/ui/weeklymonthly.py index eb4a3d16..960bf119 100644 --- a/src/modules/statistics/ui/weeklymonthly.py +++ b/src/modules/statistics/ui/weeklymonthly.py @@ -753,7 +753,9 @@ class WeeklyMonthlyUI(StatsUI): voting = self.bot.get_cog('TopggCog') if voting and not await voting.check_voted_recently(self.userid): - self._layout.append((voting.vote_button(),)) + premiumcog = self.bot.get_cog('PremiumCog') + if not (premiumcog and await premiumcog.is_premium_guild(self.guild.id)): + self._layout.append((voting.vote_button(),)) if self._showing_selector: await self.period_menu_refresh()