Подобно этому discord.js
ответу , мы можем получить дату Member.joined_at
, а затем посчитать количество участников из Guild.members
, у которых более низкие даты присоединения. joined_at
, по-видимому, может быть None
в некоторых обстоятельствах, но мой код будет относиться к тем членам, как будто они не существуют (я думаю, что это для членов, которые покинули гильдию, но для которых у нас все еще есть объект, но я я не уверен).
@commands.guild_only()
@bot.command()
async def position(ctx, *, member: Member = none):
member = member or ctx.author
if member.joined_at is None:
await ctx.send("Could not locate your join date.")
return
pos = sum(m.joined_at < member.joined_at for m in ctx.guild.members if m.joined_at is not None)
await ctx.send(f"You are member #{pos}")