discord.py-rewrite - 如何获取会员的加入排名?
discord.py-rewrite - How to get a member's join ranking?
所以,我有一个 userinfo
命令,我希望我的 BOT return 一些关于用户的信息,我希望他 return 的一个信息是公会加入排名,如果调用上下文的公会存在。
所以,如果一个成员创建了公会,这将评估为 1
。如果该成员是第二个加入的成员,return 2
。如果该成员是第三个加入的成员,return 3
...
@bot.command()
async def userinfo(ctx, *, user=None):
embed = discord.Embed(title="User info" [...])
...
embed.add_field(name="Joining rank", value=f"{SERVER JOIN RANK}/{SERVER TOTAL MEMBER COUNT})
...
我应该只使用 for
循环吗?
谢谢
@PatrickHaugh 谢谢,它成功了。 :)
我可以做一个这样的函数:
def return_guild_join_position(user, guild):
"""Returns the guild join position of a user."""
try:
joins = tuple(sorted(guild.members, key=operator.attrgetter("joined_at")))
if None in joins:
return None
for key, elem in enumerate(joins):
if elem == user:
return key + 1, len(joins)
return None
except:
return None
所以,我有一个 userinfo
命令,我希望我的 BOT return 一些关于用户的信息,我希望他 return 的一个信息是公会加入排名,如果调用上下文的公会存在。
所以,如果一个成员创建了公会,这将评估为 1
。如果该成员是第二个加入的成员,return 2
。如果该成员是第三个加入的成员,return 3
...
@bot.command()
async def userinfo(ctx, *, user=None):
embed = discord.Embed(title="User info" [...])
...
embed.add_field(name="Joining rank", value=f"{SERVER JOIN RANK}/{SERVER TOTAL MEMBER COUNT})
...
我应该只使用 for
循环吗?
谢谢
@PatrickHaugh 谢谢,它成功了。 :) 我可以做一个这样的函数:
def return_guild_join_position(user, guild):
"""Returns the guild join position of a user."""
try:
joins = tuple(sorted(guild.members, key=operator.attrgetter("joined_at")))
if None in joins:
return None
for key, elem in enumerate(joins):
if elem == user:
return key + 1, len(joins)
return None
except:
return None