Как не дать разногласному боту отреагировать на себя - Вернуть, если утверждение не работает

Я довольно новичок в Python, и я пишу бот-диск, используя переписать discord.py, Python 3.7. Вот в чем проблема: мой бот продолжает реагировать сам на себя, генерируя бесконечный поток повторяющихся сообщений. Я искал решения своей проблемы, и то, с чем я столкнулся, казалось, работает правильно для всех остальных, но не для меня. Вот мой код:

@client.event
async def on_message(message):
    await message.channel.send("hi")
    if message.author == client.user:
        return
    await client.process_commands(message)

Я пробовал заменить

if message.author == client.user:
        return

с

if message.author.bot == True:
    return

как это казалось альтернативным решением. Однако ни один из них не сработал. Я не уверен что делать.

1 ответ

Вопрос был решен. Для тех, кто задается вопросом: я просто должен был

if message.author == client.user:
    return

к вершине функции. Мой окончательный код был таким:

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    await message.channel.send("hi")
    await client.process_commands(message)
Другие вопросы по тегам