如何清除/删除频道中特定用户的消息

时间:2020-08-02 12:27:41

标签: python discord discord.py

所以我想创建一个命令,该命令可以删除该命令编写所在通道中特定用户的消息。

我想要的命令:

<html>
    <head>
        <title>RocketSeat - Challenge 1</title>
    </head>
    <body>
        <button onclick="MakeSquare()" style="margin-top: 100px;">Make a square</button>

    </body>
    <script>
        function MakeSquare(){
            const square = document.createElement('div')
            const elementBody = document.querySelector('body')
            square.style.backgroundColor ='red'
            square.style.width = '50px'
            square.style.height = '50px'
            square.style.marginTop= '50px'
            square.style.border = '1px solid red'
            elementBody.appendChild(square)
        }

    </script>
</html>

例如:!clear @tom 10

我的代码:

!clear <user> <no of messages>

我可能甚至没有回答我的问题,但我尝试了。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我认为应该完成这项工作:

@client.command()
async def clear(ctx,  member: discord.Member, number : int):
    await ctx.message.delete()
    async for msg in ctx.channel.history(limit=number).filter(lambda m: m.author == member).map(lambda m: m):
        try:
            await msg.delete()
        except:
            pass

我所做的是,我检查了消息作者是否等于我们提到的用户,如果相等,则删除他的消息以限制我们想要的数量。