mirror of
https://github.com/RafaelSolVargas/Vulkan.git
synced 2025-10-29 16:57:23 +00:00
30 lines
1.4 KiB
Python
30 lines
1.4 KiB
Python
from Messages.Responses.AbstractCogResponse import AbstractCommandResponse
|
|
from Handlers.HandlerResponse import HandlerResponse
|
|
from Messages.MessagesCategory import MessagesCategory
|
|
from Messages.DiscordMessages import VAbstractMessage, VDefaultMessage
|
|
|
|
|
|
class EmbedCommandResponse(AbstractCommandResponse):
|
|
def __init__(self, response: HandlerResponse, category: MessagesCategory) -> None:
|
|
super().__init__(response, category)
|
|
|
|
async def run(self, deleteLast: bool = True) -> None:
|
|
message = None
|
|
# If the response has both embed and view to be sended
|
|
if self.response.embed and self.response.view:
|
|
message = await self.context.send(embed=self.response.embed, view=self.response.view)
|
|
# Set the view to contain the sended message
|
|
self.response.view.set_message(message)
|
|
|
|
# Or just a embed
|
|
elif self.response.embed:
|
|
message = await self.context.send(embed=self.response.embed)
|
|
|
|
if message:
|
|
vMessage: VAbstractMessage = VDefaultMessage(message)
|
|
# Only delete the previous message if this is not error and not forbidden by method caller
|
|
if deleteLast and self.response.success:
|
|
await self.manager.addMessageAndClearPrevious(self.context.guild.id, self.category, vMessage, self.response.view)
|
|
else:
|
|
self.manager.addMessage(self.context.guild.id, self.category, vMessage)
|