删除特定人的消息

时间:2020-05-06 10:41:04

标签: python-3.x discord.py-rewrite

现在,它仅删除“内容”最后一条消息:

@commands.command()
    @commands.has_permissions(manage_guild=True)
    async def clear(self, ctx, content:int):
            await ctx.message.delete()
            if content > 0:
                await ctx.channel.purge(limit=content)
                if content == 1:
                    title = f'Usunięto {content} wiadomość'
                    colour = discord.Colour.blue()
                else:
                    title = f'Usunięto {content} wiadomości'
                    colour = discord.Colour.blue()
            else:
                title = 'Hej! Wartość nie może być mniejsza od 0!'
                colour = discord.Colour.red()
            clear = discord.Embed(
            title = title,
            colour = colour
            )
            clear.set_author(name=ctx.bot.user.name, icon_url=ctx.bot.user.avatar_url)
            clear.set_footer(text=version)
            textMsg = await ctx.send(embed=clear)
            await textMsg.delete(delay=2)

我想让漫游器仅删除特定的人(例如“!clear 5 @ Thundo#0000 <=提及)-仅删除最后五个Thundo的消息,而不会删除其他消息

1 个答案:

答案 0 :(得分:1)

使用清除功能的 check kwarg。它具有一个带有一个参数的功能-消息。仅当message.author是您要删除其消息的消息时,才可以使该函数返回True。将该功能传递给 check kwarg。您还可以将应该删除的邮件数作为整数传递给 limit kwarg。繁荣就这样