From 4d8c5ce06ef9f2bf960d3834f402e8cf6ad364e6 Mon Sep 17 00:00:00 2001 From: dnns01 <git@dnns01.de> Date: Fri, 13 Oct 2023 13:18:37 +0200 Subject: [PATCH] temp fix error --- deprecated/views/dialog_view.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 deprecated/views/dialog_view.py diff --git a/deprecated/views/dialog_view.py b/deprecated/views/dialog_view.py new file mode 100644 index 0000000..eb7a85f --- /dev/null +++ b/deprecated/views/dialog_view.py @@ -0,0 +1,32 @@ +import discord +from discord import ButtonStyle + + +class DialogView(discord.ui.View): + + def __init__(self, buttons=None, callback=None): + super().__init__(timeout=None) + self.callback = callback + for button_config in buttons: + self.add_button(button_config) + + def add_button(self, config): + button = discord.ui.Button( + style=config.get("style", ButtonStyle.grey), + label=config.get("label", None), + disabled=config.get("disabled", False), + custom_id=config.get("custom_id", None), + url=config.get("url", None), + emoji=config.get("emoji", None), + row=config.get("row", None) + ) + button.value = config.get("value") + if self.callback: + button.callback = self.internal_callback(button) + self.add_item(button) + + def internal_callback(self, button): + async def button_callback(interaction): + await self.callback(button, interaction, value=button.value) + + return button_callback -- GitLab