diff options
| author | 2020-03-28 15:13:26 +0100 | |
|---|---|---|
| committer | 2020-03-28 15:13:26 +0100 | |
| commit | 294915013680c9ad205d6c9fa0c7fa2b79cc1919 (patch) | |
| tree | 117612b7f890e35010fe53575879edc1c41362e0 /bot/exts/evergreen/uptime.py | |
| parent | Deseasonify: info log on help cog load (diff) | |
Deseasonify: rename `seasons` pkg to `exts`
It is believed that this is now a more logical name for the package,
as extensions no longer bind to seasons.
Internally, packages are still grouped into seasonal sub-packages.
There are quite a few, and it makes sense to group them by a common
theme that inspired their functionality.
Diffstat (limited to 'bot/exts/evergreen/uptime.py')
| -rw-r--r-- | bot/exts/evergreen/uptime.py | 34 | 
1 files changed, 34 insertions, 0 deletions
| diff --git a/bot/exts/evergreen/uptime.py b/bot/exts/evergreen/uptime.py new file mode 100644 index 00000000..6f24f545 --- /dev/null +++ b/bot/exts/evergreen/uptime.py @@ -0,0 +1,34 @@ +import logging + +import arrow +from dateutil.relativedelta import relativedelta +from discord.ext import commands + +from bot import start_time + +log = logging.getLogger(__name__) + + +class Uptime(commands.Cog): +    """A cog for posting the bot's uptime.""" + +    def __init__(self, bot: commands.Bot): +        self.bot = bot + +    @commands.command(name="uptime") +    async def uptime(self, ctx: commands.Context) -> None: +        """Responds with the uptime of the bot.""" +        difference = relativedelta(start_time - arrow.utcnow()) +        uptime_string = start_time.shift( +            seconds=-difference.seconds, +            minutes=-difference.minutes, +            hours=-difference.hours, +            days=-difference.days +        ).humanize() +        await ctx.send(f"I started up {uptime_string}.") + + +def setup(bot: commands.Bot) -> None: +    """Uptime Cog load.""" +    bot.add_cog(Uptime(bot)) +    log.info("Uptime cog loaded") | 
