support for default embed color

This commit is contained in:
iDutchy 2020-10-01 21:37:37 +00:00
parent 5b2c7db90b
commit d79bc7c3c9
2 changed files with 26 additions and 1 deletions

View File

@ -29,6 +29,8 @@ import logging
import signal
import sys
import traceback
import os
import re
import aiohttp
@ -55,6 +57,7 @@ from .backoff import ExponentialBackoff
from .webhook import Webhook
from .iterators import GuildIterator
from .appinfo import AppInfo
from .colour import Color, Colour
log = logging.getLogger(__name__)
@ -232,6 +235,7 @@ class Client:
self._listeners = {}
self.shard_id = options.get('shard_id')
self.shard_count = options.get('shard_count')
self._embed_color = options.get('embed_color')
connector = options.pop('connector', None)
proxy = options.pop('proxy', None)
@ -273,6 +277,24 @@ class Client:
def _handle_ready(self):
self._ready.set()
@property
def embed_color(self):
"""Optional[:class:`.Color`]: The default color for all embeds
"""
return self._embed_color
@embed_color.setter
def embed_color(self, value):
if isinstance(value, (Color, Colour)):
self._embed_color = hex(value)
os.environ['DEFAULT_EMBED_COLOR'] = str(hex(value))
HEX = re.compile(r'^(0x)[A-Fa-f0-9]{6}$')
elif HEX.match(str(value))):
self._embed_color = value
os.environ['DEFAULT_EMBED_COLOR'] = str(value)
else:
raise TypeError('embed_color must be an instance of discord.Colour or a valid 0x****** hex value.')
@property
def latency(self):
""":class:`float`: Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds.

View File

@ -25,6 +25,7 @@ DEALINGS IN THE SOFTWARE.
"""
import datetime
import os
from . import utils
from .colour import Colour
@ -108,7 +109,9 @@ class Embed:
try:
colour = kwargs['colour']
except KeyError:
colour = kwargs.get('color', EmptyEmbed)
default_colour = kwargs.get('color', EmptyEmbed)
colour = os.getenv("DEFAULT_EMBED_COLOR", default=default_colour)
self.colour = colour
self.title = kwargs.get('title', EmptyEmbed)