bundle.discord.embeds ===================== .. py:module:: bundle.discord.embeds .. autoapi-nested-parse:: Reusable Discord embed builders for the Discord bot. ``EmbedFactory`` holds the bot brand context (name + avatar) so callers don't have to pass ``bot_name`` / ``bot_avatar_url`` on every call. Standalone module-level functions are kept as thin convenience wrappers. Classes ------- .. autoapisummary:: bundle.discord.embeds.Color bundle.discord.embeds.EmbedFactory Module Contents --------------- .. py:class:: Color Discord embed sidebar colors. .. py:attribute:: ONLINE :value: 5763719 .. py:attribute:: OFFLINE :value: 15548997 .. py:attribute:: WELCOME :value: 5793266 .. py:attribute:: INFO :value: 3447003 .. py:attribute:: PROGRESS :value: 16705372 .. py:attribute:: SUCCESS :value: 5763719 .. py:attribute:: ERROR :value: 15548997 .. py:attribute:: MUSIC :value: 65280 .. py:class:: EmbedFactory(bot_name: str = 'Discord Bot', bot_avatar_url: str = '') Brand-aware embed builder. Create one per bot and reuse everywhere. .. py:attribute:: bot_name :value: 'Discord Bot' .. py:attribute:: bot_avatar_url :value: '' .. py:method:: online(bot_user: discord.User, guild_count: int, latency_ms: int) -> discord.Embed .. py:method:: offline() -> discord.Embed .. py:method:: welcome(member: discord.Member) -> discord.Embed .. py:method:: progress(*, title: str, status: str, percent: int = 0, fields: dict[str, str] | None = None, thumbnail_url: str | None = None) -> discord.Embed .. py:method:: success(*, title: str, description: str, fields: dict[str, str] | None = None, thumbnail_url: str | None = None) -> discord.Embed .. py:method:: error(*, title: str, description: str) -> discord.Embed .. py:method:: info(*, title: str, description: str, fields: dict[str, str] | None = None, thumbnail_url: str | None = None) -> discord.Embed .. py:method:: now_playing(*, title: str, author: str, duration_secs: int, elapsed_secs: int = 0, status: str = 'Playing', queue_pos: str | None = None, thumbnail_url: str | None = None) -> discord.Embed