mirror of
https://github.com/Matthww/TuneBot.git
synced 2026-09-21 20:47:44 +00:00
42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
from typing import Optional
|
|
|
|
import discord
|
|
from discord import Embed
|
|
from discord.ext.commands import Context
|
|
|
|
|
|
class EmbedGenerator:
|
|
@staticmethod
|
|
async def Error(ctx: Context, message: str, **kwargs) -> Embed:
|
|
color = ctx.bot.colors["embed"]
|
|
em = Embed(title="Error:", description=message, color=color)
|
|
return await EmbedGenerator.SendWithFooter(ctx, em, **kwargs)
|
|
|
|
@staticmethod
|
|
async def Message(ctx: Context, title: str, message: Optional[str] = "", **kwargs):
|
|
color = ctx.bot.colors["embed"]
|
|
em = Embed(title=title, description=message, color=color)
|
|
return await EmbedGenerator.SendWithFooter(ctx, em, **kwargs)
|
|
|
|
@staticmethod
|
|
async def Image(
|
|
ctx: Context, title: str, url: str, message: Optional[str] = "", **kwargs
|
|
):
|
|
color = ctx.bot.colors["embed"]
|
|
em = Embed(title=title, description=message, url=url, color=color)
|
|
em.set_image(url=url)
|
|
return await EmbedGenerator.SendWithFooter(ctx, em, **kwargs)
|
|
|
|
@staticmethod
|
|
async def Title(ctx: Context, title: str, **kwargs):
|
|
color = ctx.bot.colors["embed"]
|
|
em = Embed(title=title, color=color)
|
|
return await EmbedGenerator.SendWithFooter(ctx, em, **kwargs)
|
|
|
|
@staticmethod
|
|
async def SendWithFooter(ctx: Context, em: Embed, **kwargs) -> discord.Message:
|
|
avatar = ctx.author.avatar.with_static_format("jpeg")
|
|
em.set_footer(text=f"Requested by: {ctx.author}", icon_url=avatar)
|
|
if kwargs.get("no_send", False):
|
|
return em
|
|
return await ctx.send(embed=em, **kwargs) |