mirror of
https://github.com/RGBCube/VReplBot
synced 2025-05-14 05:24:58 +00:00
68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
from datetime import timedelta as TimeDelta
|
|
from inspect import cleandoc as strip
|
|
from platform import python_version
|
|
from time import monotonic as get_monotonic, time as get_time
|
|
from typing import TYPE_CHECKING
|
|
|
|
from discord.ext.commands import Cog, command
|
|
|
|
if TYPE_CHECKING:
|
|
from discord.ext.commands import Context
|
|
|
|
from .. import ReplBot
|
|
|
|
|
|
class Miscellaneous(
|
|
Cog,
|
|
name = "Miscellaneous",
|
|
description = "Miscellaneous commands.",
|
|
):
|
|
def __init__(self, bot: ReplBot) -> None:
|
|
self.bot = bot
|
|
self.bot.help_command.cog = self
|
|
|
|
def cog_unload(self) -> None:
|
|
self.bot.help_command.cog = None
|
|
self.bot.help_command.hidden = True
|
|
|
|
@command(
|
|
brief = "Sends the bots ping.",
|
|
help = "Sends the bots ping."
|
|
)
|
|
async def ping(self, ctx: Context) -> None:
|
|
ts = get_monotonic()
|
|
message = await ctx.reply("Pong!")
|
|
ts = get_monotonic() - ts
|
|
await message.edit(content = f"Pong! `{int(ts * 1000)}ms`")
|
|
|
|
@command(
|
|
brief = "Sends the GitHub repository link for the bot.",
|
|
help = "Sends the GitHub repository link for the bot.",
|
|
)
|
|
async def github(self, ctx: Context) -> None:
|
|
# Not a button since I want the embed.
|
|
await ctx.reply("https://github.com/RGBCube/VReplBot")
|
|
|
|
@command(
|
|
brief = "Sends info about the bot.",
|
|
help = "Sends info about the bot."
|
|
)
|
|
async def info(self, ctx: Context) -> None:
|
|
await ctx.reply(
|
|
strip(
|
|
f"""
|
|
```
|
|
Bot Info
|
|
========
|
|
Python Version: v{python_version()}
|
|
Uptime: {TimeDelta(seconds = int(get_time() - self.bot.ready_timestamp))}
|
|
```
|
|
"""
|
|
)
|
|
)
|
|
|
|
|
|
async def setup(bot: ReplBot) -> None:
|
|
await bot.add_cog(Miscellaneous(bot))
|