mirror of
https://github.com/RafaelSolVargas/Vulkan.git
synced 2025-10-29 16:57:23 +00:00
32 lines
996 B
Python
32 lines
996 B
Python
from typing import List
|
|
from discord import Button, Message
|
|
from discord.ui import View
|
|
from Config.Emojis import VEmojis
|
|
from Music.VulkanBot import VulkanBot
|
|
|
|
emojis = VEmojis()
|
|
|
|
|
|
class BasicView(View):
|
|
"""View that receives buttons to hold, in timeout disable buttons"""
|
|
|
|
def __init__(self, bot: VulkanBot, buttons: List[Button], timeout: float = 6000):
|
|
super().__init__(timeout=timeout)
|
|
self.__bot = bot
|
|
self.__message: Message = None
|
|
|
|
for button in buttons:
|
|
self.add_item(button)
|
|
|
|
async def on_timeout(self) -> None:
|
|
# Disable all itens and, if has the message, edit it
|
|
try:
|
|
self.disable_all_items()
|
|
if self.__message is not None and isinstance(self.__message, Message):
|
|
await self.__message.edit(view=self)
|
|
except Exception as e:
|
|
print(f'[ERROR EDITING MESSAGE] -> {e}')
|
|
|
|
def set_message(self, message: Message) -> None:
|
|
self.__message = message
|