VnexTR: Bilişim Forumu

Tam Versiyon: [Discord.py] Cog Nedir
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Cog: Tek bir classta komutlar, eventler ve bazı durumları düzenlemek istediğiniz zaman yardımcı olur.

- Her cog, commands.Cog sınıfının alt sınıfıdır.
- Her komut, commands.command() dekoratörü ile işaretlenir.
- Her event, commands.Cog.listener() dekoratörü ile işaretlenir.

Coglar daha sonra <Client>.add_cog ile eklenir.
Cog, silmek istendiği zaman <Client>.remove_cog ile kaldırılır.
Kod:
class Yetkili(commands.Cog):
    def __init__(self, bot):
        self.client = bot

    @commands.command(name='alkışla', aliases=['alkış']) # dekoratörümüz
    @commands.guild_only() # sadece sunucularda kullanılabilir
    async def alkisla(self, ctx, *, member: discord.Member = None):
        member = member or ctx.author
        await ctx.send(f"Alkış, {member.name!} :clap::clap:")

def setup(client):
    client.add_cog(Yetkili(client))
    
    
Kod:
# ANA DOSYAMIZA
coglar = ['cogs.yetkili']

if __name__ == "__main__":
    for cog in coglar:
        client.load_extension(cog)

Nedir bu cogs.yetkili ?

Python'da dizinler arası geçişlerde . kullanılır. Yani bu demek oluyor ki, ana dosyamızın olduğu dizinde cogs adında bir klasör oluşturacağız. Ardından da içine yetkili.py adında bir dosya ekleyip yukarıda verdiğimiz örnekteki kod yapıştırılacak.