diff options
author | 2020-04-02 14:39:24 +0200 | |
---|---|---|
committer | 2020-04-02 14:39:24 +0200 | |
commit | d77a2bbc50305d05371197f4cfe3354cfca4c627 (patch) | |
tree | be1eed54972d9843f66114311f93b68b579046ac /bot/exts/evergreen/uptime.py | |
parent | Merge pull request #382 from ks129/game-fuzzy (diff) | |
parent | Merge master: adjust `Space` cog location (diff) |
Merge pull request #329 from python-discord/seasonal-purge
Deseasonify: Make all cogs available year-round, and manage only branding by season.
Diffstat (limited to 'bot/exts/evergreen/uptime.py')
-rw-r--r-- | bot/exts/evergreen/uptime.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/bot/exts/evergreen/uptime.py b/bot/exts/evergreen/uptime.py new file mode 100644 index 00000000..a9ad9dfb --- /dev/null +++ b/bot/exts/evergreen/uptime.py @@ -0,0 +1,33 @@ +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)) |