如何让机器人删除自己发送的消息

0 投票
2 回答
40 浏览
提问于 2025-04-12 00:03

我有一个Discord机器人,我想让它删除一条“加载中...”的消息。不过,它只删除了用户发出的命令消息。

@client.command()
async def run(ctx):
    await ctx.send("Loading...")
    await ctx.message.delete()
    await ctx.send("Loading Complete!")

这样做会出现权限不足的问题,因为它试图删除用户的消息,而不是它自己刚刚发送的那条消息。

我哪里做错了呢?

2 个回答

1

你可以使用 delete_after 这个参数,它可以设置消息发送后多少秒会被删除。

await ctx.send("Loading...", delete_after=3) #deleting after 3 seconds

撰写回答