1

正如标题所述,我正在尝试使用我的 !purge 命令删除消息。我已经记下了:

    @bot.command()
    @commands.has_permissions(manage_messages=True)
    async def purge(ctx):
        await delete_messages(ctx, member)
        await ctx.send("Deleted messages")

就是说delete_messages没有定义。请帮我!

4

2 回答 2

2

所以我们在 2019 年。我会帮你编写代码。

delete_messages是 TextChannel 对象的一种方法。

在您的行await delete_messages(ctx, member)中,ctx.message.channel.在 delete_messages 之前添加。

然后你的行会像这样:
await ctx.message.channel.delete_messages(ctx, member)

希望这能说明问题。
如果是这样,请不要犹豫,单击复选标记“接受”答案。

于 2019-07-13T04:13:17.540 回答
0

这将一次最多删除 99 条消息(+ purge 命令),并且消息必须在 14 天以内。

@bot.command(pass_context=True, name='purge', aliases=['purgemessages'], no_pm=True)
async def purge(ctx, number):
    number = int(number)
        if number > 99 or number < 1:
            await ctx.send("I can only delete messages within a range of 1 - 99", delete_after=10)
        else:
            author = ctx.message.author
                authorID = author.id
                mgs = []
                number = int(number)
                channel = ctx.message.channel
                async for x in bot.logs_from((channel), limit = int(number+1)):
                    mgs.append(x)
                await delete_messages(mgs)
                await ctx.send('Success!', delete_after=4)
于 2017-12-27T15:30:23.943 回答