Почему python не позволяет мне использовать 2 аргумента в файле discord.py? - PullRequest
0 голосов
/ 19 января 2020

Хорошо, я делаю фильтр для моих разногласий. и примерно через 2 часа я понял, как удалить сообщение.

, но я понял, что не могу использовать 2 аргумента.

@bot.event
async def on_message(ctx,message):
if 'cancer' in message.content.lower():
    await message.delete()
    bad = discord.Embed(title='YOU SAID A NO NO WORD!!!', description ='Dont do that again or you\'ll 
    have some problems <a:Sippp:668488891820408862>', colour=discord.Color.red())
    await ctx.channel.send(embed=bad)

Когда я делаю это, я не могу использовать оба ctx и сообщение. Может ли кто-нибудь помочь мне?

Причина, по которой я снова использую это и похоже на другой мой вопрос, заключается в том, что он не объяснен там, и потому что его не только удобно знать другим, если они не ищут такого точного вопрос.

1 Ответ

0 голосов
/ 19 января 2020

on_message должен принимать один аргумент, отправленное сообщение ( документы здесь ).

Если вам нужен доступ к каналу, на который было отправлено сообщение, вы можете использовать message.channel ( см. Атрибут канала в разделе сообщений документации ). Таким образом, ваша функция становится:

@bot.event
async def on_message(message):
if 'cancer' in message.content.lower():
    await message.delete()
    bad = discord.Embed(title='YOU SAID A NO NO WORD!!!', description ='Dont do that again or you\'ll 
    have some problems <a:Sippp:668488891820408862>', colour=discord.Color.red())
    await message.channel.send(embed=bad)
...