简体   繁体   English

如果有 2 个脏话,我怎样才能让我的聊天过滤器发送一个嵌入?

[英]How can I make my chat filter send one embed if there are 2 swear words?

I'm having an issue where if there are 2 swear words in a message, it will send 2 embeds.我有一个问题,如果消息中有 2 个脏话,它将发送 2 个嵌入。 Does anyone know fixes for this?有谁知道解决这个问题?

@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:   Please don't say that here, {message.author.mention}.")
            t.set_footer(text="DM TheSuperRobert2498#2498 for bot suggestions.")
            await message.channel.send(embed=t, delete_after=5)
            await message.delete()
        else:
            await client.process_commands(message)

Simply add a break after await message.delete() to break out of the bad_words for loop:只需在await message.delete()之后添加一个break即可跳出bad_words for 循环:

@client.event
async def on_message(message):    
    for bad_word in bad_words:
        if bad_word in message.content.lower().split(" "):
            # ...
            await message.delete()
            break
        else:
            await client.process_commands(message)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM