discord.py 如何通过 ID 删除多条消息?

In discord.py how can I delete multiple messages via ID?

我正在尝试编写一个通过消息 ID 一次删除多条消息的命令。

到目前为止,这是我的(非常基本的)代码:

@bot.command()
@commands.has_permissions(administrator=True)
async def delete(ctx, msg:discord.Message):
    await msg.delete()
    await ctx.message.delete()

它的问题是它只删除了第一条消息。我尝试在 msg:discord.Message 之前添加类似 ,* 的内容,使用 for 循环和类似 message.content.split 的内容,但到目前为止,我尝试的一切都没有成功,我对 discord 机器人和 python一般。

在此先感谢您的帮助。

您正朝着好的方向前进,这是您的做法:

async def delete(ctx, *messages: discord.Message):
    for message in messages:
        await message.delete()

注意:这不适用于不在调用命令的同一频道中的消息