#python #discord.py-rewrite
#python #discord.py
Вопрос:
Я создаю бота на python, используя discord.py , я пытался удалить команду, когда она выполняется, она работает, но выдает мне ошибку, и ошибка
Игнорирование исключения в трассировке on_message (последний последний вызов): File «C:UsersDellAppDataLocalProgramsPythonPython38libsite-packagesdiscordclient.py «, строка 312, в файле _run_event ожидает coro(*args, **kwargs) «C:/Users/Dell/Desktop/test_bot/add_role.py «, строка 25, в on_message msg = ожидание сообщения.канал.Файл fetch_message (761275239346339871) «C:UsersDellAppDataLocalProgramsPythonPython38libsite-packagesdiscordabc.py «, строка 956, в fetch_message данные = ожидают self._state.http.get_message(channel.id , id) Файл «C:UsersDellAppDataLocalProgramsPythonPython38libsite-packagesdiscordhttp.py «, строка 243, в запросе поднимите NotFound(r, data) discord.ошибки.Не найдено: 404 не найдено (код ошибки: 10008): неизвестное сообщение
После выдачи ошибки также работает, но я хочу знать, что вызывает код ошибки :
msg = await message.channel.fetch_message(761275239346339871)
await msg.delete()
Комментарии:
1. Пожалуйста, предоставьте нам больше кода, чтобы мы могли определить, в чем может быть проблема, или воспроизвести ошибку для себя
2. У вас эта ошибка, потому что
fetch_message(761275239346339871)
не найдено искомое сообщение
Ответ №1:
Проблема в том, что введенный вами идентификатор сообщения уже удален. Если вы хотите удалить сообщение автора, просто сделайте
await ctx.message.delete()
если вы хотите удалить введенное сообщение, wait_for
вы можете сделать это
msg = await client.wait_for('message', check=lambda message: message.author == ctx.author)
await msg.delete()
если on_message
.
@client.event
async def on_message(message):
message = await message.channel.send(message here)
await message.delete()
Комментарии:
1. Но я использую это в событии on_message (), и сообщение, которое оно должно удалить, — это сообщение моего бота
2. пользователь @client.listen()