discord.py-rewrite - Как получить рейтинг участника? - PullRequest
0 голосов
/ 20 июня 2019

Итак, у меня есть команда userinfo, в которой я хочу, чтобы мой BOT возвращал некоторую информацию о пользователе, и одна информация, которую я хотел бы, чтобы он возвращал, - это рейтинг присоединения к гильдии, если существует гильдия контекста вызова.

Итак, если участник создал гильдию, это оценивается как 1. Если участник присоединился вторым, верните 2. Если участник присоединился третьим, верните 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 цикл?

Спасибо

1 Ответ

0 голосов
/ 21 июня 2019

@ 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
...