samedi 16 octobre 2021

Message content checker does not work correctly discord.py

I am trying to make a bad words system for my server's custom bot, but it seems to only listen for the first condition, ignoring the second one:

@bot.event
async def on_message(message):
  ###BAD WORDS CHECK
  if message.author == bot.user:
    pass
  else:
        if (any(x in message.content.lower() for x in words2)):
          if "hack" or "crack" in message.content.lower():
            await message.reply("I think you may be asking for illegal services or illegal advice. Please refer to rule #5 in the welcome channel!")
            await message.channel.send("If you think this was a mistake please reply with $report!")
            global CAN_REPORT
            CAN_REPORT = "yes"
            return
          else:
            pass
  await bot.process_commands(message)

The bot will for some reason respond to any message containing any word from words2:

words2 = [
  "instagram",
  "snapchat",
  "roblox",
  "paypal",
  "facebook",
  "gmail",
  "fortnite",
  "minecraft",
  "apex",
  "youtube",
]

ignoring whether the message contains "hack", which leads to it replying to every message talking about social media or games. The goal is to check if BOTH conditions are true.

Any help is appreciated!

Aucun commentaire:

Enregistrer un commentaire