删除Discord.py中的用户消息

Har*_*_98 7 python discord

有没有办法删除除机器人本身以外的任何人发送的消息,文档似乎表明它是可能的

没有任何适当的权限,您可以删除自己的邮件.但是,要删除其他人的消息,您需要具有相应的权限才能执行此操作.

但我无法找到一种方法来定位消息,以便在on_message事件触发器中执行此操作,我是否遗漏了某些内容,或者这是不可能的?

小智 6

是的,应该是可能的.

您需要机器人/用户帐户才能拥有"管理消息"权限.

@client.event
async def on_message(message):
    await client.delete_message(message)
Run Code Online (Sandbox Code Playgroud)

所以,事件会发生类似的事情

>User sends message
>Bot detects that the user has sent a message
>Bot deletes the message that the user sent
Run Code Online (Sandbox Code Playgroud)

希望你能够看到如何删除用户消息,只需确保将机器人/用户帐户作为"管理消息"权限.

  • 在1.0版中更改了语法,您现在需要使用`await message.delete()`。https://discordpy.readthedocs.io/zh-CN/latest/api.html#discord.Message.delete (2认同)