aboutsummaryrefslogtreecommitdiffstats
path: root/bot/cogs/evergreen/uptime.py
blob: ec4a308328e6ada8a5609b6487da6e96060684e5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import arrow
from dateutil.relativedelta import relativedelta
from discord.ext import commands

from bot import start_time


class Uptime:
    """
    A cog for posting the bots uptime.
    """

    def __init__(self, bot):
        self.bot = bot

    @commands.command(name='uptime')
    async def uptime(self, ctx):
        """
        Returns 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}.")


# Required in order to load the cog, use the class name in the add_cog function.
def setup(bot):
    bot.add_cog(Uptime(bot))