refactor(command|basics): rewrite info and ping commands
This commit is contained in:
parent
a9a8572aad
commit
289fedb4b7
10 changed files with 178 additions and 5 deletions
cogs
88
cogs/basics.py
Normal file
88
cogs/basics.py
Normal file
|
@ -0,0 +1,88 @@
|
|||
import platform
|
||||
import time
|
||||
|
||||
import discord
|
||||
import humanize
|
||||
import psutil
|
||||
from discord.ext import commands
|
||||
|
||||
from bot import TuxBot
|
||||
from .utils.lang import Texts
|
||||
|
||||
|
||||
class Basics(commands.Cog):
|
||||
|
||||
def __init__(self, bot: TuxBot):
|
||||
self.bot = bot
|
||||
|
||||
"""---------------------------------------------------------------------"""
|
||||
|
||||
@commands.command(name='ping')
|
||||
async def _ping(self, ctx: commands.Context):
|
||||
start = time.perf_counter()
|
||||
await ctx.trigger_typing()
|
||||
end = time.perf_counter()
|
||||
|
||||
latency = round(self.bot.latency * 1000, 2)
|
||||
typing = round((end - start) * 1000, 2)
|
||||
|
||||
e = discord.Embed(title='Ping', color=discord.Color.teal())
|
||||
e.add_field(name='Websocket', value=f'{latency}ms')
|
||||
e.add_field(name='Typing', value=f'{typing}ms')
|
||||
await ctx.send(embed=e)
|
||||
|
||||
"""---------------------------------------------------------------------"""
|
||||
|
||||
@commands.command(name='info')
|
||||
async def _info(self, ctx: commands.Context):
|
||||
proc = psutil.Process()
|
||||
with proc.oneshot():
|
||||
mem = proc.memory_full_info()
|
||||
e = discord.Embed(
|
||||
title=f"{Texts('basics').get('Information about TuxBot')}",
|
||||
color=0x89C4F9)
|
||||
e.add_field(
|
||||
name=f"__:busts_in_silhouette: "
|
||||
f"{Texts('basics').get('Development')}__",
|
||||
value=f"**Romain#5117:** [git](https://git.gnous.eu/Romain)\n"
|
||||
f"**Outout#4039:** [git](https://git.gnous.eu/mael)\n",
|
||||
inline=True
|
||||
)
|
||||
e.add_field(
|
||||
name="__<:python:596577462335307777> Python__",
|
||||
value=f"**python** `{platform.python_version()}`\n"
|
||||
f"**discord.py** `{discord.__version__}`",
|
||||
inline=True
|
||||
)
|
||||
e.add_field(
|
||||
name="__:gear: Usage__",
|
||||
value=f"**{humanize.naturalsize(mem.rss)}** "
|
||||
f"{Texts('basics').get('physical memory')}\n"
|
||||
f"**{humanize.naturalsize(mem.vms)}** "
|
||||
f"{Texts('basics').get('virtual memory')}\n",
|
||||
inline=True
|
||||
)
|
||||
|
||||
e.add_field(
|
||||
name=f"__{Texts('basics').get('Servers count')}__",
|
||||
value=str(len(self.bot.guilds)),
|
||||
inline=True
|
||||
)
|
||||
e.add_field(
|
||||
name=f"__{Texts('basics').get('Channels count')}__",
|
||||
value=str(len([_ for _ in self.bot.get_all_channels()])),
|
||||
inline=True
|
||||
)
|
||||
e.add_field(
|
||||
name=f"__{Texts('basics').get('Members count')}__",
|
||||
value=str(len([_ for _ in self.bot.get_all_members()])),
|
||||
inline=True
|
||||
)
|
||||
|
||||
e.set_footer(text=f'version: {self.bot.version}')
|
||||
|
||||
await ctx.send(embed=e)
|
||||
|
||||
|
||||
def setup(bot: TuxBot):
|
||||
bot.add_cog(Basics(bot))
|
|
@ -9,4 +9,4 @@ class Version:
|
|||
|
||||
def __str__(self) -> str:
|
||||
build = self.build[:10]
|
||||
return f'v{self.major}.{self.minor}.{self.patch}{self.pre_release}-{build}'
|
||||
return f'v{self.major}.{self.minor}.{self.patch}{self.pre_release}+{build}'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue