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 signal
import sys import sys
import traceback import traceback
import os
import re
import aiohttp import aiohttp
@ -55,6 +57,7 @@ from .backoff import ExponentialBackoff
from .webhook import Webhook from .webhook import Webhook
from .iterators import GuildIterator from .iterators import GuildIterator
from .appinfo import AppInfo from .appinfo import AppInfo
from .colour import Color, Colour
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -232,6 +235,7 @@ class Client:
self._listeners = {} self._listeners = {}
self.shard_id = options.get('shard_id') self.shard_id = options.get('shard_id')
self.shard_count = options.get('shard_count') self.shard_count = options.get('shard_count')
self._embed_color = options.get('embed_color')
connector = options.pop('connector', None) connector = options.pop('connector', None)
proxy = options.pop('proxy', None) proxy = options.pop('proxy', None)
@ -273,6 +277,24 @@ class Client:
def _handle_ready(self): def _handle_ready(self):
self._ready.set() 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 @property
def latency(self): def latency(self):
""":class:`float`: Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds. """: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 datetime
import os
from . import utils from . import utils
from .colour import Colour from .colour import Colour
@ -108,7 +109,9 @@ class Embed:
try: try:
colour = kwargs['colour'] colour = kwargs['colour']
except KeyError: 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.colour = colour
self.title = kwargs.get('title', EmptyEmbed) self.title = kwargs.get('title', EmptyEmbed)