discord.py ошибка в коде

написал код:


@client.event
async def on_message(message):
    if "word" or "apple" or "juice" in message.content:
          await message.channel.send("Something")
    await client.process_commands(message)```

после запуска данного кода, бот начинает бесконечно спамить в чат слово "Something"


Ответы (1 шт):

Автор решения: gil9red

Это выражение всегда True:

if "word" or "apple" or "juice" in message.content:

Если логически разделить его, то будет:

if ("word") or ("apple") or ("juice" in message.content):

А т.к. if "word" всегда True, то проверять дальше нет смысла

Правильно будет так:

if "word" in message.content or "apple" in message.content or "juice" in message.content:

UPD.

Кст, если слов много, то список слов можно проверить через функцию any:

if any(word in message.content for word in ["word", "apple", "juice"]):
→ Ссылка