Discord'da bot kullanımı role göre nasıl sınırlandırılır?

Hocam benim bir de başka bir botum varda bu botu sadece belirli bir rol kullanabilsin istiyorum onun kodu nedir acaba?
Discord.js için
JavaScript:
if (interaction.memberPermissions.has("Administrator")) {
}
else{
    interaction.reply({content:'Yönetici değilsin',ephemeral:true)
}
 
Yetkilendirme yapmanız lazım. Her kodun başında ilgili role sahip mi kullanıcı diye kontrol edeceksiniz.

JavaScript
JavaScript:
if (!message.member.roles.cache.some(role => role.name === 'yetkili rol adı')) {
  message.channel.send('Bu komutu kullanmak için gerekli yetkiye sahip değilsin.');
  return;
}

// Komutun geri kalanı

Python
Python:
if not discord.utils.get(message.author.roles, name='yetkili rol adı'):
  await message.channel.send('Bu komutu kullanmak için gerekli yetkiye sahip değilsin.')
  return

# Komutun geri kalanı
 
Python:
from discord.utils import get

@bot.command()
async def komut(ctx):
    role = get(ctx.guild.roles, name="Belirli_Rol_Adı")
   
    if role in ctx.author.roles:
        # Rol kontrolü başarılı olduğunda burası çalışır
        await ctx.send("Bu komutu kullanabilirsiniz.")
    else:
        # Rol kontrolü başarısız olduğunda burası çalışır
        await ctx.send("Bu komutu kullanmaya yetkiniz yok.")

ChatGPT çıktısı.

Verimli değil gibi duruyor. Ancak konu sahibi sadece kendi sunucusunda kullanacağından yavaşlığı hissetmez sanırım.
 
Sadece komutlar için. Python'da;

Python:
@bot.command()
@commands.has_role("rol_adı")
async def test():
    ...

Sadece bot sahibi:

Python:
@commands.command(name="test")
@commands.is_owner()
async def test(ctx):
    ...
 
Yetkilendirme yapmanız lazım. Her kodun başında ilgili role sahip mi kullanıcı diye kontrol edeceksiniz.

JavaScript.
JavaScript:
if (!message.member.roles.cache.some(role => role.name === 'yetkili rol adı')) {
 message.channel.send('Bu komutu kullanmak için gerekli yetkiye sahip değilsin.');
 return;
}

// Komutun geri kalanı.

Python.
Python:
if not discord.utils.get(message.author.roles, name='yetkili rol adı'):
 await message.channel.send('Bu komutu kullanmak için gerekli yetkiye sahip değilsin.')
 return.

# Komutun geri kalanı.

JavaScript için olanı denedim ama çalışmadı en başamı yazmak gerek komutda zaten botumun 1 komutu var onun en başına koydum bunu ama olmadı?

JavaScript için olanı denedim ama çalışmadı en başamı yazmak gerek komutda zaten botumun 1 komutu var onun en başına koydum bunu ama olmadı?

Neyse gerek kalmadı chat GPT halletti zaten.
 
Son düzenleme:

Yeni konular

Geri
Yukarı