discord.py Bot, DM'lerdeki girdilere yanıt vermiyor
Dec 23 2020
Yapmaya çalıştığım şey : Mesaj yazarından botla DM'lerinde bir yanıt almak.
Benim sorunum : Bot DM'lerde kendisine mesaj gönderildiğinde beklediğim gibi yanıt vermiyor. Hata mesajı yok.
Kod :
@client.command()
async def test(ctx):
await ctx.send("Sending a dm now")
def check(message):
return message.author == ctx.author and message.channel == discord.channel.DMChannel
try:
await ctx.author.send("Say test: ")
response = await client.wait_for('message', check=check)
if response.content.lower() == 'test':
await ctx.send("Test successful")
elif response.content.lower() == 'banana':
await ctx.author.send("That works too")
except:
# do things here
Görseller :

(Yukarıdaki resim) Verilen koşullar yerine getirilmesine rağmen yanıt verilmez.
Başvurduğum Referanslar / Diğer Sorular :
- Discord.py Kanalın bir DM olup olmadığını kontrol edin
- discord.DMChannel API Başvurusu
- Discord.py - DM'yi belirli bir mesajla yanıtla
- Discord.py bot: Discord botumun, kullanıcıların DM'lerde örneğin bir anket için kullandıkları bir komuta yanıt göndermesini nasıl sağlayabilirim?
Yanıtlar
1 NuKeFluffy Dec 23 2020 at 09:49
Çekinizle ilgili bir sorun var, yazdırırsanız message.channel
şunları alacaksınız:
Direct Message with username#1234
Ve yazdırırsanız discord.channel.DMChannel
şunları alırsınız:
<class 'discord.channel.DMChannel'>
Bunların iki farklı şey olduğunu fark edeceksiniz, çekinizi buna göre değiştirmeniz sorunu çözecektir:
def check(message):
return message.author == ctx.author and str(message.channel.type) == "private"
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'