discord.py не может удалить сообщения автора
Я использую Discord.py версии 1.0.0. Я пытаюсь написать команду echo, которая при получении сообщения отобразит сообщение и удалит команду из чата. Вот пример моего кода.
client = Bot(description="Test bot", command_prefix="&", pm_help = False)
@bot.command(pass_context=True)
async def echo(ctx):
await client.send(ctx.message)
await client.delete_message(ctx.message)
Ошибки, которые я получаю, говорят мне, что у ctx нет атрибута с именем delete_message. Я пытался просто удалить (). Я смотрел на других, имеющих что-то похожее, но решения не помогли мне. Любые предложения будут ценны.
2 ответа
В файле discord.py/rewrite (1.0.0) Delete - это метод сообщения, а не клиента. Это одинаково для каждой функции, влияющей на сообщение / канал / гильдию и т. Д.
Вместо того чтобы делать
await client.delete_message(ctx.message)
попробуй сделать
await ctx.message.delete()
Если вы на 1.0, вы можете потерять pass_context
а также client.send
должно быть ctx.send
, Вы также можете написать сигнатуру функции команды, используя Аргументы только для ключевых слов, так что вы только выводите сообщение, игнорируя &echo
from discord.ext.commands import Bot
client = Bot(description="Test bot", command_prefix="&", pm_help = False)
@client.command()
async def echo(ctx, *, msg):
await ctx.send(msg)
await ctx.message.delete()
client.run('token')