nick.py
1 import discord 2 from discord import app_commands 3 4 from exaroton import add_to_whitelist, remove_from_whitelist 5 from storage import load_data, save_data 6 7 8 def register(tree): 9 @tree.command(name="nick", description="Whitelist nickini değiştirir.") 10 @app_commands.describe(new_nick="Yeni Minecraft kullanıcı adın") 11 async def nick(interaction: discord.Interaction, new_nick: str): 12 await interaction.response.defer(ephemeral=True) 13 data = load_data() 14 user_id = str(interaction.user.id) 15 16 if user_id not in data: 17 return await interaction.followup.send("Önce `/kayıt` komutu ile kayıt olmalısın.") 18 19 for uid, info in data.items(): 20 if info["username"].lower() == new_nick.lower(): 21 if uid == user_id: 22 return await interaction.followup.send("Zaten bu nicki kullanıyorsun.") 23 return await interaction.followup.send(f"**{new_nick}** nicki zaten başka bir kullanıcı tarafından alınmış.") 24 25 old_nick = data[user_id]["username"] 26 27 await remove_from_whitelist(old_nick) 28 add_result = await add_to_whitelist(new_nick) 29 30 if not add_result.get("success"): 31 await add_to_whitelist(old_nick) 32 return await interaction.followup.send(f"Nick değiştirirken hata oluştu: {add_result.get('error', 'Bilinmeyen hata')}") 33 34 data[user_id]["username"] = new_nick 35 save_data(data) 36 await interaction.followup.send(f"Nickin **{old_nick}** → **{new_nick}** olarak değiştirildi.")