Как я могу получить позицию соединения на серверах Discord со своим собственным ботом в Python? - PullRequest
0 голосов
/ 07 января 2020

Я хочу создать команду whois, которая показывает позицию соединения. К сожалению, я нашел только один код для Javascript. Но поскольку я программирую своего Discordbot с помощью Python, мне нужна помощь.

1 Ответ

0 голосов
/ 07 января 2020

Подобно этому 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}")
...