diff options
Diffstat (limited to 'bot/seasons')
| -rw-r--r-- | bot/seasons/__init__.py | 152 | ||||
| -rw-r--r-- | bot/seasons/christmas/__init__.py | 19 | ||||
| -rw-r--r-- | bot/seasons/easter/__init__.py | 19 | ||||
| -rw-r--r-- | bot/seasons/halloween/__init__.py | 16 | ||||
| -rw-r--r-- | bot/seasons/pride/__init__.py | 22 | ||||
| -rw-r--r-- | bot/seasons/valentines/__init__.py | 16 | ||||
| -rw-r--r-- | bot/seasons/wildcard/__init__.py | 14 | 
7 files changed, 129 insertions, 129 deletions
| diff --git a/bot/seasons/__init__.py b/bot/seasons/__init__.py index 13fec76b..f9c89279 100644 --- a/bot/seasons/__init__.py +++ b/bot/seasons/__init__.py @@ -6,11 +6,139 @@ from typing import List, Optional, Set, Type  from bot.constants import Colours, Month -__all__ = ("SeasonBase", "get_seasons", "get_extensions", "get_current_season", "get_season") +__all__ = ( +    "SeasonBase", +    "Christmas", +    "Easter", +    "Halloween", +    "Pride", +    "Valentines", +    "Wildcard", +    "get_seasons", +    "get_extensions", +    "get_current_season", +    "get_season", +)  log = logging.getLogger(__name__) +class SeasonBase: +    """ +    Base for Seasonal classes. + +    This serves as the off-season fallback for when no specific +    seasons are active. + +    Seasons are 'registered' simply by inheriting from `SeasonBase`. +    We discover them by calling `__subclasses__`. +    """ + +    season_name: str = "Evergreen" +    bot_name: str = "SeasonalBot" + +    colour: str = Colours.soft_green +    description: str = "The default season!" + +    branding_path: str = "seasonal/evergreen" + +    months: Set[Month] = set(Month) + + +class Christmas(SeasonBase): +    """Branding for december.""" + +    season_name = "Festive season" +    bot_name = "Merrybot" + +    colour = Colours.soft_red +    description = ( +        "The time is here to get into the festive spirit! No matter who you are, where you are, " +        "or what beliefs you may follow, we hope every one of you enjoy this festive season!" +    ) + +    branding_path = "seasonal/christmas" + +    months = {Month.december} + + +class Easter(SeasonBase): +    """Branding for april.""" + +    season_name = "Easter" +    bot_name = "BunnyBot" + +    colour = Colours.bright_green +    description = ( +        "Bunny here, bunny there, bunny everywhere! Here at Python Discord, we celebrate " +        "our version of Easter during the entire month of April." +    ) + +    branding_path = "seasonal/easter" + +    months = {Month.april} + + +class Halloween(SeasonBase): +    """Branding for october.""" + +    season_name = "Halloween" +    bot_name = "NeonBot" + +    colour = Colours.orange +    description = "Trick or treat?!" + +    branding_path = "seasonal/halloween" + +    months = {Month.october} + + +class Pride(SeasonBase): +    """Branding for june.""" + +    season_name = "Pride" +    bot_name = "ProudBot" + +    colour = Colours.pink +    description = ( +        "The month of June is a special month for us at Python Discord. It is very important to us " +        "that everyone feels welcome here, no matter their origin, identity or sexuality. During the " +        "month of June, while some of you are participating in Pride festivals across the world, " +        "we will be celebrating individuality and commemorating the history and challenges " +        "of the LGBTQ+ community with a Pride event of our own!" +    ) + +    branding_path = "seasonal/pride" + +    months = {Month.june} + + +class Valentines(SeasonBase): +    """Branding for february.""" + +    season_name = "Valentines" +    bot_name = "TenderBot" + +    colour = Colours.pink +    description = "Love is in the air!" + +    branding_path = "seasonal/valentines" + +    months = {Month.february} + + +class Wildcard(SeasonBase): +    """Branding for august.""" + +    season_name = "Wildcard" +    bot_name = "RetroBot" + +    colour = Colours.purple +    description = "A season full of surprises!" + +    months = {Month.august} + +  def get_seasons() -> List[str]:      """Returns all the Season objects located in /bot/seasons/."""      seasons = [] @@ -44,28 +172,6 @@ def get_extensions() -> List[str]:      return extensions -class SeasonBase: -    """ -    Base for Seasonal classes. - -    This serves as the off-season fallback for when no specific -    seasons are active. - -    Seasons are 'registered' simply by inheriting from `SeasonBase`. -    We discover them by calling `__subclasses__`. -    """ - -    season_name: str = "Evergreen" -    bot_name: str = "SeasonalBot" - -    colour: str = Colours.soft_green -    description: str = "The default season!" - -    branding_path: str = "seasonal/evergreen" - -    months: Set[Month] = set(Month) - -  def get_current_season() -> Type[SeasonBase]:      """Give active season, based on current UTC month."""      current_month = Month(datetime.utcnow().month) diff --git a/bot/seasons/christmas/__init__.py b/bot/seasons/christmas/__init__.py index 0b524f44..e69de29b 100644 --- a/bot/seasons/christmas/__init__.py +++ b/bot/seasons/christmas/__init__.py @@ -1,19 +0,0 @@ -from bot.constants import Colours, Month -from bot.seasons import SeasonBase - - -class Christmas(SeasonBase): -    """Branding for december.""" - -    season_name = "Festive season" -    bot_name = "Merrybot" - -    colour = Colours.soft_red -    description = ( -        "The time is here to get into the festive spirit! No matter who you are, where you are, " -        "or what beliefs you may follow, we hope every one of you enjoy this festive season!" -    ) - -    branding_path = "seasonal/christmas" - -    months = {Month.december} diff --git a/bot/seasons/easter/__init__.py b/bot/seasons/easter/__init__.py index 15992941..e69de29b 100644 --- a/bot/seasons/easter/__init__.py +++ b/bot/seasons/easter/__init__.py @@ -1,19 +0,0 @@ -from bot.constants import Colours, Month -from bot.seasons import SeasonBase - - -class Easter(SeasonBase): -    """Branding for april.""" - -    season_name = "Easter" -    bot_name = "BunnyBot" - -    colour = Colours.bright_green -    description = ( -        "Bunny here, bunny there, bunny everywhere! Here at Python Discord, we celebrate " -        "our version of Easter during the entire month of April." -    ) - -    branding_path = "seasonal/easter" - -    months = {Month.april} diff --git a/bot/seasons/halloween/__init__.py b/bot/seasons/halloween/__init__.py index ec546578..e69de29b 100644 --- a/bot/seasons/halloween/__init__.py +++ b/bot/seasons/halloween/__init__.py @@ -1,16 +0,0 @@ -from bot.constants import Colours, Month -from bot.seasons import SeasonBase - - -class Halloween(SeasonBase): -    """Branding for october.""" - -    season_name = "Halloween" -    bot_name = "NeonBot" - -    colour = Colours.orange -    description = "Trick or treat?!" - -    branding_path = "seasonal/halloween" - -    months = {Month.october} diff --git a/bot/seasons/pride/__init__.py b/bot/seasons/pride/__init__.py index 90e2fde9..e69de29b 100644 --- a/bot/seasons/pride/__init__.py +++ b/bot/seasons/pride/__init__.py @@ -1,22 +0,0 @@ -from bot.constants import Colours, Month -from bot.seasons import SeasonBase - - -class Pride(SeasonBase): -    """Branding for june.""" - -    season_name = "Pride" -    bot_name = "ProudBot" - -    colour = Colours.pink -    description = ( -        "The month of June is a special month for us at Python Discord. It is very important to us " -        "that everyone feels welcome here, no matter their origin, identity or sexuality. During the " -        "month of June, while some of you are participating in Pride festivals across the world, " -        "we will be celebrating individuality and commemorating the history and challenges " -        "of the LGBTQ+ community with a Pride event of our own!" -    ) - -    branding_path = "seasonal/pride" - -    months = {Month.june} diff --git a/bot/seasons/valentines/__init__.py b/bot/seasons/valentines/__init__.py index 02cf11ff..e69de29b 100644 --- a/bot/seasons/valentines/__init__.py +++ b/bot/seasons/valentines/__init__.py @@ -1,16 +0,0 @@ -from bot.constants import Colours, Month -from bot.seasons import SeasonBase - - -class Valentines(SeasonBase): -    """Branding for february.""" - -    season_name = "Valentines" -    bot_name = "TenderBot" - -    colour = Colours.pink -    description = "Love is in the air!" - -    branding_path = "seasonal/valentines" - -    months = {Month.february} diff --git a/bot/seasons/wildcard/__init__.py b/bot/seasons/wildcard/__init__.py deleted file mode 100644 index bcc79e3a..00000000 --- a/bot/seasons/wildcard/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -from bot.constants import Colours, Month -from bot.seasons import SeasonBase - - -class Wildcard(SeasonBase): -    """Branding for august.""" - -    season_name = "Wildcard" -    bot_name = "RetroBot" - -    colour = Colours.purple -    description = "A season full of surprises!" - -    months = {Month.august} | 
