import discord from discord.ext import commands from discord import app_commands import time class Utility(commands.Cog): def __init__(self, bot: commands.Bot): self.bot = bot @app_commands.command(name="ping", description="Zeigt die Latenz des Bots an.") async def ping(self, interaction: discord.Interaction): """Zeigt die Latenz des Bots an.""" # Die Latenz der Discord-API (Websocket) api_latency = round(self.bot.latency * 1000) # Sende eine Bestätigungsnachricht und messe die Zeit dafür start_time = time.time() await interaction.response.send_message("Pinging...", ephemeral=True) end_time = time.time() # Berechne die Antwortzeit response_latency = round((end_time - start_time) * 1000) embed = discord.Embed(title="Pong! 🏓", color=discord.Color.blurple()) embed.add_field(name="API Latenz", value=f"{api_latency}ms", inline=True) embed.add_field(name="Antwortzeit", value=f"{response_latency}ms", inline=True) # Bearbeite die ursprüngliche Nachricht mit dem Ergebnis await interaction.edit_original_response(content=None, embed=embed) @app_commands.command(name="userinfo", description="Zeigt Informationen über ein Mitglied an.") @app_commands.describe(member="Das Mitglied, dessen Infos du sehen möchtest (optional).") async def userinfo(self, interaction: discord.Interaction, member: discord.Member = None): """Zeigt Informationen über dich oder ein anderes Mitglied an.""" # Wenn kein Mitglied angegeben wird, nimm den Autor des Befehls target = member or interaction.user embed = discord.Embed( title=f"Informationen über {target.display_name}", color=target.color ) embed.set_thumbnail(url=target.avatar.url if target.avatar else target.default_avatar.url) embed.add_field(name="Name", value=f"{target.name}#{target.discriminator}", inline=True) embed.add_field(name="ID", value=target.id, inline=True) embed.add_field(name="Status", value=str(target.status).title(), inline=True) embed.add_field(name="Server beigetreten am", value=target.joined_at.strftime("%d.%m.%Y, %H:%M:%S"), inline=False) embed.add_field(name="Account erstellt am", value=target.created_at.strftime("%d.%m.%Y, %H:%M:%S"), inline=False) await interaction.response.send_message(embed=embed) async def setup(bot: commands.Bot): await bot.add_cog(Utility(bot))