Files
Mewpie/main.py
T
2026-10-18 00:39:47 +02:00

46 lines
1.6 KiB
Python

import discord
import requests
import dotenv
from discord import app_commands
import psutil
import time
from other.ikavoidping import get_api_ping
from other.almteshdotnetping import get_api_ping as get_almtesh_ping
dotenv.load_dotenv()
TOKEN = dotenv.get_key(".env", "DISCORD_TOKEN")
class Bot(discord.Client):
def __init__(self):
super().__init__(intents=discord.Intents.all())
self.tree = app_commands.CommandTree(self)
self.startup_timestamp = time.time()
async def setup_hook(self):
await self.tree.sync()
bot = Bot()
@bot.event
async def on_ready():
print(f'Logged in as {bot.user}')
@bot.tree.command(name="status", description="Get the bot's current status")
async def status(interaction: discord.Interaction):
cpu_usage = psutil.cpu_percent(interval=1, percpu=True)
avg_cpu_usage = sum(cpu_usage) / len(cpu_usage)
memory_info = psutil.virtual_memory()
used_memory = memory_info.used
total_memory = memory_info.total
discord_latency = bot.latency
uptime = time.time() - bot.startup_timestamp
await interaction.response.send_message(
f"CPU Usage: {avg_cpu_usage:.2f}%\n"
f"Per-Core CPU Usage: {', '.join(f'{usage}%' for usage in cpu_usage)}\n"
f"Memory Usage: {memory_info.percent}% ({used_memory / (1024**2):.2f} MB / {total_memory / (1024**2):.2f} MB)\n"
f"Bot Latency: {discord_latency*1000:.2f} ms\n"
f"Uptime: {int(uptime // 86400)}d {int((uptime % 86400) // 3600)}h {int((uptime % 3600) // 60)}m {int(uptime % 60)}s\n"
f"API Ping: {await get_api_ping():.2f} ms"
)
bot.run(TOKEN)