Discord.py on_message не перестанет отправлять одно и то же сообщение

#python #discord.py

Вопрос:

У меня есть бот discord, где он должен отправлять сообщение, когда какой-то пользователь говорит что-то без префикса. Например, «тест», когда один пользователь говорит «тест» в канале, бот должен ответить «тестирование», это сработало, но проблема в том, что бот не перестанет отправлять «тестирование», даже если пользователь уже прекратил отправлять «тест». Вот код.

 @client.event
async def on_message(message):
    if 'test' in message.content:
        await message.channel.send('testing')
 

Комментарии:

1. На будущее 'test » находится внутри 'testing' , что вызывает петлю.

Ответ №1:

Ваш бот видит свое собственное сообщение.

Добавьте защиту от этого; если автором сообщения является сам пользователь бота, не действуйте в соответствии с ним.

 @client.event
async def on_message(message):
    if message.author == client.user:
        return
    if 'test' in message.content:
        await message.channel.send('testing')