diff options
author | 2021-09-05 00:06:04 -0400 | |
---|---|---|
committer | 2021-09-05 00:06:04 -0400 | |
commit | f0b5c14e1f59e5135f27a4966021f30c77d1fc7d (patch) | |
tree | 4c83b68de1e56e6fea10b26b489d493030dbf88a /bot/exts/core/ping.py | |
parent | Update paths to new resource links (diff) |
Move internal eval and rename utils to core
Part of this restructure involves splitting out the massive evergreen
folder into a `fun` folder and then a `utilities` folder. To help with
that we've rename the `util` folder to `core`.
The core functions to run the bot have been moved into this folder.
`.source`, `.ping`, and `.int e` have been moved into this folder.
Diffstat (limited to 'bot/exts/core/ping.py')
-rw-r--r-- | bot/exts/core/ping.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/bot/exts/core/ping.py b/bot/exts/core/ping.py new file mode 100644 index 00000000..6be78117 --- /dev/null +++ b/bot/exts/core/ping.py @@ -0,0 +1,45 @@ +import arrow +from dateutil.relativedelta import relativedelta +from discord import Embed +from discord.ext import commands + +from bot import start_time +from bot.bot import Bot +from bot.constants import Colours + + +class Ping(commands.Cog): + """Get info about the bot's ping and uptime.""" + + def __init__(self, bot: Bot): + self.bot = bot + + @commands.command(name="ping") + async def ping(self, ctx: commands.Context) -> None: + """Ping the bot to see its latency and state.""" + embed = Embed( + title=":ping_pong: Pong!", + colour=Colours.bright_green, + description=f"Gateway Latency: {round(self.bot.latency * 1000)}ms", + ) + + await ctx.send(embed=embed) + + # Originally made in 70d2170a0a6594561d59c7d080c4280f1ebcd70b by lemon & gdude2002 + @commands.command(name="uptime") + async def uptime(self, ctx: commands.Context) -> None: + """Get the current 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: Bot) -> None: + """Load the Ping cog.""" + bot.add_cog(Ping(bot)) |