Skip to content

Commit e70c73f

Browse files
committed
➕ settings: premium for enabling/disabling bots
1 parent e686e70 commit e70c73f

3 files changed

Lines changed: 43 additions & 0 deletions

File tree

locales/en-US.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ settings:
9595
state:
9696
"true": "🟢 Enabled for %{element}%{details}"
9797
"false": "🔴 Disabled for %{element}%{details}"
98+
toggle_bot_premium: "Enable/Disable for bots (premium)"
9899
member:
99100
state:
100101
"true": "🟢 Working for %{element}"

locales/fr.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ settings:
9292
state:
9393
"true": "🟢 Activé pour %{element}%{details}"
9494
"false": "🔴 Désactivé pour %{element}%{details}"
95+
toggle_bot_premium: "Activer/Désactiver pour les bots (premium)"
9596
member:
9697
state:
9798
"true": "🟢 Marche pour %{element}"

src/settings.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,47 @@ async def select_element(self, view: SettingsView, interaction: discore.Interact
719719
)
720720
await view.refresh(interaction)
721721

722+
@property
723+
async def items(self) -> List[discore.ui.Item]:
724+
if is_premium(self.interaction) or not self.ctx.member.bot:
725+
toggle_button = discore.ui.Button(
726+
style=discore.ButtonStyle.primary if self.enabled else discore.ButtonStyle.secondary,
727+
label=t(f'settings.filters.button.toggle.{l(self.enabled)}'),
728+
custom_id=f'{self.id}_toggle'
729+
)
730+
else:
731+
toggle_button = discore.ui.Button(
732+
label=t('settings.members.toggle_bot_premium'),
733+
disabled=True
734+
)
735+
edit_callback(toggle_button, self.view, self.toggle)
736+
if is_premium(self.interaction):
737+
toggle_default_button = discore.ui.Button(
738+
style=discore.ButtonStyle.primary if self.use_deny_list else discore.ButtonStyle.secondary,
739+
label=t(f'settings.filters.button.toggle_default.{l(self.use_deny_list)}'),
740+
custom_id=f'{self.id}_default'
741+
)
742+
else:
743+
toggle_default_button = discore.ui.Button(
744+
label=t('settings.filters.button.toggle_default.premium'),
745+
disabled=True
746+
)
747+
edit_callback(toggle_default_button, self.view, self.toggle_default)
748+
reset_button = discore.ui.Button(
749+
style=discore.ButtonStyle.danger,
750+
label=t(f'settings.filters.button.reset.{l(self.reset_clicked_level > 1)}'),
751+
custom_id=f'{self.id}_reset'
752+
)
753+
edit_callback(reset_button, self.view, self.reset)
754+
selector = self.Select(
755+
custom_id=f'{self.id}_select',
756+
default_values=[self.element.discord_object],
757+
placeholder=t(f'settings.{self.id}.select'),
758+
**self.select_kwargs
759+
)
760+
edit_callback(selector, self.view, self.select_element)
761+
return [toggle_button, toggle_default_button, reset_button, selector]
762+
722763

723764

724765
class ChannelSetting(GenericFilterSetting):

0 commit comments

Comments
 (0)