首页 > 解决方案 > 运行发誓过滤器代码时出错 (discord.py)

问题描述

今天我对我的代码进行了一些编辑,我试图让它提到服务器中的一个人。当我测试它时,它一直说“TypeError:on_message()缺少1个必需的位置参数:'message'”,我不知道如何解决这个问题。我输入了成员参数,但它仍然不起作用。有谁知道如何解决这一问题?

@client.event
async def on_message(message):    
    for bad_word in bad_words:
        if bad_word in message.content.lower().split(" "):
            t = discord.Embed(color=0x039e00, title="Message Removed", description=f":x:   {member.mention}, please do not say that here.")
            t.set_footer(text="DM TheSuperRobert2498#2498 for bot suggestions.")
            await message.channel.send(embed=t)
            await message.delete()
            return

标签: pythondiscord.py

解决方案


member.mention行不通,因为您没有member参加on_message活动。message您仍然可以通过使用传递来做您想做的事情message.author.mention。试试这个:

@client.event
async def on_message(message):    
    for bad_word in bad_words:
        if bad_word in message.content.lower().split(" "):
            t = discord.Embed(color=0x039e00, title="Message Removed", description=f":x:   {message.author.mention}, please do not say that here.")
            t.set_footer(text="DM TheSuperRobert2498#2498 for bot suggestions.")
            await message.channel.send(embed=t)
            await message.delete()
            return

推荐阅读