/ commands / kayit.py
kayit.py
 1  import discord
 2  from discord import app_commands
 3  
 4  from exaroton import add_to_whitelist
 5  from storage import load_data, save_data
 6  
 7  
 8  def register(tree):
 9      @tree.command(name="kayıt", description="Sunucuya kayıt olup whitelist'e eklenirsin.")
10      @app_commands.describe(username="Minecraft kullanıcı adın")
11      async def kayit(interaction: discord.Interaction, username: str):
12          await interaction.response.defer(ephemeral=True)
13          data = load_data()
14          user_id = str(interaction.user.id)
15  
16          if user_id in data:
17              return await interaction.followup.send(f"Zaten **{data[user_id]['username']}** nicki ile kayıtlısın. Değiştirmek için `/nick` kullan.")
18  
19          for uid, info in data.items():
20              if info["username"].lower() == username.lower():
21                  return await interaction.followup.send(f"**{username}** nicki zaten başka bir kullanıcı tarafından alınmış.")
22  
23          result = await add_to_whitelist(username)
24          if not result.get("success"):
25              return await interaction.followup.send(f"Whitelist'e eklenirken hata oluştu: {result.get('error', 'Bilinmeyen hata')}")
26  
27          data[user_id] = {
28              "username": username,
29              "discord_id": interaction.user.id,
30              "discord_name": str(interaction.user),
31          }
32          save_data(data)
33          await interaction.followup.send(f"**{username}** nicki ile başarıyla kayıt oldun ve whitelist'e eklendin.")