Add sysinfo command

This commit is contained in:
Zeva Rose 2022-04-30 20:27:08 -06:00
parent c854d2c2ba
commit 833147017a

View file

@ -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"<t:{ut_ts}:F> (<t:{ut_ts}:R>)"),
EmbedField(name="Python Version", value=platform.python_version()),
EmbedField(name="Bot Start Time", value=f"<t:{st_ts}:F> (<t:{st_ts}:R>)"),
]
embed = build_embed(title="System Info", description="", fields=fields)
await ctx.send(embed=embed)
def setup(bot: Snake) -> None:
"""Add BotutilCog to JARVIS"""