Files
discord_bot/cogs/info.py
2022-08-21 22:24:52 +03:00

38 lines
1.4 KiB
Python

import logging
import os
import disnake
import psutil
from disnake.ext import commands
class Bot_info(commands.Cog, name='Bot Info'):
def __init__(self, bot):
self.bot = bot # defining bot as global var in class
@commands.Cog.listener() # this is a decorator for events/listeners
async def on_ready(self):
logging.info(f'Cog {__name__.split(".")[1]} is ready!.')
@commands.slash_command(name="info_bot") # this is for making a command
async def info_bot(self, inter):
_pid = os.getpid()
_process = psutil.Process(_pid)
emb = disnake.Embed(
title=f"General information",
description=f"General information on about bot",
)
# emb.set_thumbnail(self.bot.display_avatar)
emb.add_field(name="Bot ping", value=f'Bot ping: {round(self.bot.latency * 1000)}', inline=True)
emb.add_field(name="Memory Usage", value=f"{_process.memory_info()[0]/2**20} Mb", inline=True)
emb.add_field(name="CPU Usage", value=f"{_process.cpu_percent()}%", inline=True)
emb.add_field(name="Prefix", value=f"{self.bot.prefix}")
emb.add_field(name="Bot owner", value=f"<@{self.bot.owner_id}>")
emb.set_footer(text="Information requested by: {}".format(inter.author.display_name))
await inter.response.send_message(embed=emb, ephemeral=True)
def setup(bot): # an extension must have a setup function
bot.add_cog(Bot_info(bot)) # adding a cog