diff options
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)) |