Как показать, сколько дней назад люди присоединились к серверу Discord с помощью discord.py

#discord.py

#discord.py

Вопрос:

Я хочу создать команду user info, которая покажет, сколько дней назад люди присоединились или создали сервер Discord. Я видел на многих серверах, что он показывает «n» количество дней назад и другие вещи.

Ответ №1:

Вы должны получить объект member либо с помощью fetch_user, либо с помощью автора сообщения.

В этом примере я использовал автора сообщения, используя discord.ext.commands .

 import datetime as dt

@bot.command()
async def joined(ctx):
    duration = dt.datetime.now() - ctx.author.joined_at 

    hours, remainder = divmod(int(duration .total_seconds()), 3600)
    minutes, seconds = divmod(remainder, 60)
    days, hours = divmod(hours, 24)

    await ctx.send(f"Joined before {days}d, {hours}h, {minutes}m, {seconds}s")
  

Если вы хотите использовать fetch_user, замените ctx.author выше на user

 user = bot.fetch_user(ID_HERE)
  

Ответ №2:

Используя member.joined_at

 mem_join = member.joined_at
&uild_create = &uild.created_at
join_days = (mem_join - &uild_create).days
#Example: 314 days