diff --git a/UI/Buttons/BackButton.py b/UI/Buttons/BackButton.py index 95fcd95..e800f6f 100644 --- a/UI/Buttons/BackButton.py +++ b/UI/Buttons/BackButton.py @@ -11,14 +11,12 @@ class BackButton(Button): self.__bot = bot async def callback(self, interaction: Interaction) -> None: + """Callback to when Button is clicked""" + # Return to Discord that this command is being processed await interaction.response.defer() handler = PrevHandler(interaction, self.__bot) response = await handler.run() - print(response) - print(response.success) - print(response.error) - print(response.error) - print(response.embed) + if response.embed: await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/LoopAllButton.py b/UI/Buttons/LoopAllButton.py index aa37e0a..00d7571 100644 --- a/UI/Buttons/LoopAllButton.py +++ b/UI/Buttons/LoopAllButton.py @@ -1,11 +1,20 @@ from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Handlers.LoopHandler import LoopHandler +from Music.VulkanBot import VulkanBot class LoopAllButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Loop All", style=ButtonStyle.secondary, emoji=VEmojis().LOOP_ALL) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = LoopHandler(interaction, self.__bot) + response = await handler.run('all') + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/LoopOffButton.py b/UI/Buttons/LoopOffButton.py index e3e2b64..ce943b3 100644 --- a/UI/Buttons/LoopOffButton.py +++ b/UI/Buttons/LoopOffButton.py @@ -1,11 +1,20 @@ from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Handlers.LoopHandler import LoopHandler +from Music.VulkanBot import VulkanBot class LoopOffButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Loop Off", style=ButtonStyle.secondary, emoji=VEmojis().LOOP_OFF) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = LoopHandler(interaction, self.__bot) + response = await handler.run('off') + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/LoopOneButton.py b/UI/Buttons/LoopOneButton.py index c96029f..45c3dc7 100644 --- a/UI/Buttons/LoopOneButton.py +++ b/UI/Buttons/LoopOneButton.py @@ -1,11 +1,20 @@ from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Handlers.LoopHandler import LoopHandler +from Music.VulkanBot import VulkanBot class LoopOneButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Loop One", style=ButtonStyle.secondary, emoji=VEmojis().LOOP_ONE) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = LoopHandler(interaction, self.__bot) + response = await handler.run('one') + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/PauseButton.py b/UI/Buttons/PauseButton.py index 2ca454f..996e829 100644 --- a/UI/Buttons/PauseButton.py +++ b/UI/Buttons/PauseButton.py @@ -1,11 +1,20 @@ from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Handlers.PauseHandler import PauseHandler +from Music.VulkanBot import VulkanBot class PauseButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Pause", style=ButtonStyle.secondary, emoji=VEmojis().PAUSE) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = PauseHandler(interaction, self.__bot) + response = await handler.run() + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/PlayButton.py b/UI/Buttons/PlayButton.py index 93d23f2..e0e939b 100644 --- a/UI/Buttons/PlayButton.py +++ b/UI/Buttons/PlayButton.py @@ -1,11 +1,20 @@ from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Music.VulkanBot import VulkanBot +from Handlers.ResumeHandler import ResumeHandler class PlayButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Play", style=ButtonStyle.secondary, emoji=VEmojis().PLAY) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = ResumeHandler(interaction, self.__bot) + response = await handler.run() + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/SkipButton.py b/UI/Buttons/SkipButton.py index 5aba74f..479a210 100644 --- a/UI/Buttons/SkipButton.py +++ b/UI/Buttons/SkipButton.py @@ -1,11 +1,20 @@ from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Music.VulkanBot import VulkanBot +from Handlers.SkipHandler import SkipHandler class SkipButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Skip", style=ButtonStyle.secondary, emoji=VEmojis().SKIP) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = SkipHandler(interaction, self.__bot) + response = await handler.run() + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/SongsButton.py b/UI/Buttons/SongsButton.py index 7d9c11d..fa57da1 100644 --- a/UI/Buttons/SongsButton.py +++ b/UI/Buttons/SongsButton.py @@ -1,11 +1,20 @@ +from Handlers.QueueHandler import QueueHandler from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Music.VulkanBot import VulkanBot class SongsButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Songs", style=ButtonStyle.secondary, emoji=VEmojis().QUEUE) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = QueueHandler(interaction, self.__bot) + response = await handler.run() + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Buttons/StopButton.py b/UI/Buttons/StopButton.py index 0cdeda8..18b0535 100644 --- a/UI/Buttons/StopButton.py +++ b/UI/Buttons/StopButton.py @@ -1,11 +1,20 @@ from discord import ButtonStyle, Interaction from discord.ui import Button from Config.Emojis import VEmojis +from Music.VulkanBot import VulkanBot +from Handlers.StopHandler import StopHandler class StopButton(Button): - def __init__(self): + def __init__(self, bot: VulkanBot): super().__init__(label="Stop", style=ButtonStyle.secondary, emoji=VEmojis().STOP) + self.__bot = bot async def callback(self, interaction: Interaction) -> None: - pass + await interaction.response.defer() + + handler = StopHandler(interaction, self.__bot) + response = await handler.run() + + if response.embed: + await interaction.followup.send(embed=response.embed) diff --git a/UI/Views/PlayerView.py b/UI/Views/PlayerView.py index d37aba1..0892462 100644 --- a/UI/Views/PlayerView.py +++ b/UI/Views/PlayerView.py @@ -20,11 +20,11 @@ class PlayerView(View): super().__init__(timeout=timeout) self.__bot = bot self.add_item(BackButton(self.__bot)) - self.add_item(PauseButton()) - self.add_item(PlayButton()) - self.add_item(StopButton()) - self.add_item(SkipButton()) - self.add_item(SongsButton()) - self.add_item(LoopOneButton()) - self.add_item(LoopOffButton()) - self.add_item(LoopAllButton()) + self.add_item(PauseButton(self.__bot)) + self.add_item(PlayButton(self.__bot)) + self.add_item(StopButton(self.__bot)) + self.add_item(SkipButton(self.__bot)) + self.add_item(SongsButton(self.__bot)) + self.add_item(LoopOneButton(self.__bot)) + self.add_item(LoopOffButton(self.__bot)) + self.add_item(LoopAllButton(self.__bot))