#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')