Я делаю бота, который, когда обнаруживает, что вы используете запрещенное слово, удаляет ваше сообщение. Достаточно просто, но когда я это сделаю. Функция on_message повторяется. Я не знаю почему, но надеюсь, что вы ответите на мой вопрос
@client.event
async def on_message(msg):
contents = msg.content.split(" ")
for word in contents:
if word.lower() in chat_filter: #ChatFilter is a list of words that cannot be used
try:
await msg.delete()
await msg.channel.send("**YOU ARE NOT ALLOWED TO USE THIS WORD!!!**")
except discord.errors.NotFound:
return
repeats itself
? - person   schedule 02.04.2019chat_filter
тоже есть в сообщении? Вы можете добавить проверку, чтобы игнорировать собственные сообщения:if msg.author == client.user: return
- person Patrick Haugh   schedule 02.04.2019chat_filter
, то бот всегда отвечал сам себе. Похоже, это не так. Если у вас есть бот только с этим событием и без других функций, вы по-прежнему видите поведение множественного ответа? - person Patrick Haugh   schedule 02.04.2019chat_filter
, он просто удалит сообщение и скажет другое предложение. По-настоящему изучив свою проблему, я обнаружил другую проблему, вместо того, чтобы повторять, количество сообщений в функцииon_message
увеличивается вдвое, знаете ли вы, что вызывает мою проблему? - person TheBigBro122   schedule 03.04.2019on_message
? Вы тоже используетеadd_listener
или, может быть, у вас есть винтик с аналогичнымon_message
событием? - person Patrick Haugh   schedule 03.04.2019on_message
. И нет, я не используюadd_listener
или винтики - person TheBigBro122   schedule 03.04.2019