2022-07-13 22:54:16 +02:00
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
|
|
|
|
import discord
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
|
|
__all__ = [
|
|
|
|
"EmbedBaseModel",
|
|
|
|
"EmbedPydantic",
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
class EmbedBaseModel(ABC):
|
|
|
|
"""Abstract base class for a model that can be turned into a Discord embed"""
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
def to_embed(self) -> discord.Embed:
|
|
|
|
"""Turn this model into a Discord embed"""
|
|
|
|
raise NotImplementedError
|
|
|
|
|
|
|
|
|
2022-07-14 20:28:45 +02:00
|
|
|
class EmbedPydantic(EmbedBaseModel, BaseModel, ABC):
|
2022-07-13 22:54:16 +02:00
|
|
|
"""Pydantic version of EmbedModel"""
|