mirror of
https://github.com/Paillat-dev/pycord-reactive-views.git
synced 2026-01-02 09:06:21 +00:00
📝 Improve example
This commit is contained in:
@@ -17,7 +17,7 @@ class Counter(ReactiveView):
|
|||||||
super().__init__()
|
super().__init__()
|
||||||
self.counter = 0
|
self.counter = 0
|
||||||
self.counter_button = ReactiveButton(
|
self.counter_button = ReactiveButton(
|
||||||
label=ReactiveValue(lambda: str(self.counter), "0"),
|
label=ReactiveValue(lambda: f"Count: {self.counter}", "Count: 0"),
|
||||||
style=ReactiveValue(
|
style=ReactiveValue(
|
||||||
lambda: discord.ButtonStyle.primary if self.counter % 2 == 0 else discord.ButtonStyle.secondary,
|
lambda: discord.ButtonStyle.primary if self.counter % 2 == 0 else discord.ButtonStyle.secondary,
|
||||||
discord.ButtonStyle.primary,
|
discord.ButtonStyle.primary,
|
||||||
@@ -26,19 +26,19 @@ class Counter(ReactiveView):
|
|||||||
self.reset_button = ReactiveButton(
|
self.reset_button = ReactiveButton(
|
||||||
label="Reset",
|
label="Reset",
|
||||||
style=discord.ButtonStyle.danger,
|
style=discord.ButtonStyle.danger,
|
||||||
disabled=ReactiveValue(lambda: self.counter == 0, default=True),
|
disabled=ReactiveValue(lambda: self.counter == 0, True),
|
||||||
)
|
)
|
||||||
self.counter_button.callback = self._button_callback
|
self.counter_button.callback = self._increment
|
||||||
self.reset_button.callback = self._reset_callback
|
self.reset_button.callback = self._reset
|
||||||
self.add_item(self.counter_button)
|
self.add_item(self.counter_button)
|
||||||
self.add_item(self.reset_button)
|
self.add_item(self.reset_button)
|
||||||
|
|
||||||
async def _button_callback(self, interaction: discord.Interaction) -> None:
|
async def _increment(self, interaction: discord.Interaction) -> None:
|
||||||
await interaction.response.defer()
|
await interaction.response.defer()
|
||||||
self.counter += 1
|
self.counter += 1
|
||||||
await self.update()
|
await self.update()
|
||||||
|
|
||||||
async def _reset_callback(self, interaction: discord.Interaction) -> None:
|
async def _reset(self, interaction: discord.Interaction) -> None:
|
||||||
await interaction.response.defer()
|
await interaction.response.defer()
|
||||||
self.counter = 0
|
self.counter = 0
|
||||||
await self.update()
|
await self.update()
|
||||||
|
|||||||
Reference in New Issue
Block a user