为什么python不允许我在discord.py中使用2个参数?

时间:2020-01-19 18:17:13

标签: python bots discord discord.py

好的,所以我为我的不和谐状况过滤了一个。大约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 :(得分:0)

on_message应该带有一个参数,即已发送的消息(docs here)。

如果您需要访问发送消息的频道,则可以使用message.channelsee channel attribute in the message section of the docs)。这样您的功能将变为:

@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)