如何获取用户发送了多少条消息

How to get how many messages has been sent by a user

如何获取用户发送了多少条消息,我自己试过了,但对我来说没有成功,谁能帮助我。 这是我想出的:

@client.command(aliases =["m"])
async def messages(ctx, Discord.user=User):
    counter = 0
    async for message in channel.history():
        if message.author == client.user:
          counter += 1
    await ctx.send(f'{ctx.author.mention} sent {counter} messages.')
    

您的 user 参数无效。 =表示默认,你要使用的是type hints,用:表示。这是传递 user 参数的正确方法:user: discord.Member.

@client.command(aliases=["m"])
async def messages(ctx, user: discord.Member):
    channel = ctx.message.channel
    counter = 0
    async for message in channel.history():
        if message.author == user:
            counter += 1
    await ctx.send(f'{ctx.author.mention} sent {counter} messages.')