diff --git a/jarvis/cogs/botutil.py b/jarvis/cogs/botutil.py index aeb6fc3..3570153 100644 --- a/jarvis/cogs/botutil.py +++ b/jarvis/cogs/botutil.py @@ -1,12 +1,17 @@ """JARVIS bot utility commands.""" import logging +import platform from io import BytesIO +import psutil from aiofile import AIOFile, LineReader from dis_snek import MessageContext, Scale, Snake +from dis_snek.models.discord.embed import EmbedField from dis_snek.models.discord.file import File from molter import msg_command +from jarvis.utils import build_embed + class BotutilCog(Scale): """JARVIS Bot Utility Cog.""" @@ -52,6 +57,20 @@ class BotutilCog(Scale): async def _crash(self, ctx: MessageContext) -> None: raise Exception("As you wish") + @msg_command(name="sysinfo") + async def _sysinfo(self, ctx: MessageContext) -> None: + st_ts = int(self.bot.start_time.timestamp()) + ut_ts = int(psutil.boot_time()) + fields = [ + EmbedField(name="Operation System", value=platform.system() or "Unknown", inline=False), + EmbedField(name="Version", value=platform.release() or "N/A", inline=False), + EmbedField(name="System Start Time", value=f" ()"), + EmbedField(name="Python Version", value=platform.python_version()), + EmbedField(name="Bot Start Time", value=f" ()"), + ] + embed = build_embed(title="System Info", description="", fields=fields) + await ctx.send(embed=embed) + def setup(bot: Snake) -> None: """Add BotutilCog to JARVIS"""