заставить бот discord.py выводить сообщение и затем удалять его - PullRequest
0 голосов
/ 22 февраля 2020

В основном я хочу создать бота, который будет копировать сообщение с помощью указанной команды c, а затем удалить исходное сообщение и оставить его самостоятельно. это код, который я использовал

if message.content.startswith("!echo"):
            await message.channel.send(message.content[5:].format(message))
            await client.delete_message(context.message) 

, пока эхо работает хорошо, но исходное сообщение не удаляется

1 Ответ

0 голосов
/ 22 февраля 2020

Убедитесь, что вы используете новейшую библиотеку discord.py. Вы можете проверить установленную версию с помощью python -m pip freeze

В файле discord.py версия 1.0 .delete_message была изменена на .delete:
https://discordpy.readthedocs.io/en/latest/migrating.html
https://discordpy.readthedocs.io/en/latest/api.html?highlight=delete#discord .Message.delete

Чтобы удалить сообщение, вы делаете:

if message.content.startswith("!echo"):
  await message.channel.send(message.content[5:].format(message))
  await message.delete()

Вы также можете сделать await message.delete(delay=5), если вы sh, чтобы удалить сообщение через 5 секунд.
Ваш бот должен иметь право удалять сообщения в этом текстовом канале.

...