@bot.event
async def on_ready():
print("Bot Hazır " + str(bot.user))
@bot.event
async def on_message(message):
if message.author == client.user:
return
if message.content == ("Sa"):
await message.channel.send("as")
if message.content == ("sa"):
await message.channel.send("as")
bot.run(TOKEN)
[/CODE]
Sınıf Sunucumuz için bir bot yapmıştım. Kullanıcı Sa yazınca As yazmasını istiyorum. Kendim yaptığımda !m komutları çalışmıyor. İkisi de nasıl çalışabilir?
Şu kullandığınız for döngüsünü de anlayamadım ne gerek var. Python'da listeyi if a in list şeklinde kontrol edebiliyorsunuz.
Ha eğer mesaj içeriğinin herhangi bir yerinde selam bulunmasını kontrol etmek istiyorsan
Split = msg.content.split() kullan.
Hata veriyor.
Ignoring exception in on_message
Traceback (most recent call last):
File "/home/runner/FirstGlamorousMetric/venv/lib/python3.8/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "main.py", line 23, in on_message
async for i in selam:
TypeError: 'async for' requires an object with __aiter__ method, got list
Hata veriyor.
Ignoring exception in on_message
Traceback (most recent call last):
File "/home/runner/FirstGlamorousMetric/venv/lib/python3.8/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "main.py", line 23, in on_message
async for i in selam:
TypeError: 'async for' requires an object with __aiter__ method, got list
Eski düzene geri dönüp bilen birinden yardım beklemeniz gerekecek benim bilgim buraya kadar maalesef . Birden fazla asenkron çalışan fonksiyonlar var bunların nasıl çalıştığını kavradığınız vakit await anahtar kelimesininde neden kullanıldığını anlamış olacaksınız. Neden asenkron çalışan bir for döngüsünü soracak olursanız internetten bakınırken sanırım işe yarayabilir düşüncesiyle (denemeden) iletmek istedim fakat hata yaptım. Sizinde bir an önce bot yapmaktansa ya baştaki dediğim gibi birinin cevap vermesini bekleyin ya da Python'u öğrenip kendiniz üstesinden gelin. Çünkü sizin bu forumda açtığınız konuları incelediğimde emeklemeden direk koşmaya çalıştığınızı görür gibiyim. Kolay gelsin. Yine herhangi bir yardım olursa destek vermeye yine bilgim doğrusunda hazırım.
Şu kullandığınız for döngüsünü de anlayamadım ne gerek var. Python'da listeyi if a in list şeklinde kontrol edebiliyorsunuz.
Ha eğer mesaj içeriğinin herhangi bir yerinde selam bulunmasını kontrol etmek istiyorsan
Split = msg.content.split() kullan.
Genelde liste işlemlerinde bir for döngüsü kullanılır ve liste elemanlarına oluşturulan döngünün değişkeni sayesinde erişildiğinden 3. sayfada 26.post olarak verdiğim listedeki elemanın olup olmadığını kontrol etme örneklerini hatta bu örneklerin çoğaltılabileceği bunlarında "şunlar şunlar OLABİLİR"liğini açıklamıştım görmüşsünüzdür.
Şu kullandığınız for döngüsünü de anlayamadım ne gerek var. Python'da listeyi if a in list şeklinde kontrol edebiliyorsunuz.
Ha eğer mesaj içeriğinin herhangi bir yerinde selam bulunmasını kontrol etmek istiyorsan
Split = msg.content.split() kullan.
Bot.run("<token>")[/CODE]
Lower kullanmamın sebebi slm'ın farklı hallerini yazmaya üşenmem.Şöyle de yapılabilir: selam = ("selam","Selam","sLm","Slm"..........)