discord.py 无法删除作者留言

discord.py not able to delete author messages

我正在使用 Discord.py 版本 1.0.0。我正在尝试编写一个回显命令,当收到一条消息时,它将回显该消息并从聊天中删除该命令。这是我的代码示例。

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" 的属性。我试过只使用 delete()。我看过其他人有类似的问题,但是解决方案对我没有帮助。 任何建议将不胜感激。

不一致。py/rewrite (1.0.0),Delete is a method on the message,不在客户端。这对于影响 message/channel/guild 等的每个函数都是相同的

而不是做

await client.delete_message(ctx.message)

尝试做

await ctx.message.delete()

如果您使用的是 1.0,则可以输 pass_contextclient.send 应该是 ctx.send。您还可以使用 Keyword-Only Arguments 编写命令的函数签名,以便您只回显消息,而忽略 &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')