Discord.py - komut oluşturamıyorum

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.members = True

bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event	
async def on_ready():
    print("botu bot hazır")

@bot.event
async def on_member_join(member):
    channel = discord.utils.get(member.guild.channels, name='gelen-giden')
    await channel.send(f'{member.mention} aramıza katıldı!')

@bot.event
async def on_member_remove(member):
    channel = discord.utils.get(member.guild.channels, name='gelen-giden')
    await channel.send(f'{member.mention} aramızadan ayrıldı!')

@bot.command()
async def merhaba(ctx):
    await ctx.send(f"Merhaba {ctx.author.mention}!")


bot.run('Token')

Discord botu yapmaya calışıyorum, on_ready, on_member_join, on_member_remove fonksiyonları calışıyor fakat !merhaba yazınaca bir dönüş olmuyor sebebi nedir

Merhaba!

Öncelikle ne Discord botları, ne de Python ile uzaktan yakından alakam olmadığını belirtmek istiyorum. Görüşlerimi buna göre dikkate alın lütfen.

Kodlamayı denemesem de Discord.js’in Python’dan daha iyi olduğunu duydum. Eğer uğraşmak istiyor veya bu işten gelir elde etmeyi düşünüyorsunuz JavaScript daha iyi olacaktır, bence.

Kodlardan anlamadığımı da söylemiştim, yine de aklıma takıldı. Prefixle alakalı bir sorun olabilir mi?

Biraz araştırıp bir konu buldum ve

await ctx.send(f"Merhaba {ctx.author.mention}!")

yazmak yerine

await ctx.send(f'Merhaba {ctx.author.mention}!')

kullanmayı önerebilirim.

Ne farkı var acaba ben anlayamadım ?

1 Beğeni
intents.message_content = True

Kodunuza bunu eklerseniz çalışacaktır. Ama uzun süre discordda bot yapan biri olarak arkadaşında bahsettiği gibi benimde tavsiyem discord.js kullanmanızdır.

1 Beğeni

Çift tırnak yerine tek tırnak kullanılıyor. Daha detaylı bilgi için: Kaçış Dizileri — Yazbel Python Belgeleri

tek tırnak ile çift tırnağın aynı olmadığını mı idda ediyosun ?

yardımlarınız ve tavsiyeleriniz icin teşekkür ederim

bunu koda eklediğimde calıştı.

1 Beğeni

Linkini attığım belgenin tam olarak şu kısmında anlatılıyor.

Kısaca örnek de verebilirim aynı sayfadan:

Örneğin \ işareti ‘ (tek tırnak) işareti ile bir araya gelerek, tek tırnak işaretinin karakter dizisi tanımlama dışında başka bir anlam yüklenmesini sağlıyor. Aynı şekilde yine \ işareti “ (çift tırnak) işareti ile birleşerek çift tırnak işaretinin de karakter dizisi tanımlama dışında bir anlama kavuşmasını sağlıyor.

dostum seni küçükken kandırmışlar haberin olsun. öle bi dünya yok.

GitHub’dan istek atıp sayfayı düzenleyebilirsiniz o halde.

hocam python bu konuda javascriptten farklı. muhtemelen siz js developersınız. js’de string formatting

const msg = "hello"
console.log(`message is ${msg}`)

şeklinde yapılıyor (yanlış hatırlamıyorsam) fakat formatlarken ` yerine ’ kullanılırsa formatlamıyor bildiğiniz üzere ancak pythonda durum farklı. çift tırnak ve tek tırnak arasında hiçbir fark bulunmuyor pythonda