Как сделать, чтобы бот отображал в сети человек или нет. discord.py
Надо чтобы бот писал в информации об участнике сервера, статус его активности (В сети, Неактивен, Не беспокоить, Не в сети), код есть, но везде отображает, что человек не в сети, когда это не так. Что делать?
@bot.command()
async def info(ctx,member:discord.Member = None, guild: discord.Guild = None):`
if member == None:
member = ctx.author
embed = discord.Embed(title="Информация о аккаунте", color=ctx.message.author.color)
embed.add_field(name="Имя:", value=ctx.message.author.display_name,inline=False)
embed.add_field(name="Айди пользователя:", value=ctx.message.author.id,inline=False)
t = ctx.message.author.status
if t == discord.Status.online:
d = " В сети"
t = ctx.message.author.status
if t == discord.Status.offline:
d = "⚪ Не в сети"
t = ctx.message.author.status
if t == discord.Status.idle:
d = " Не активен"
t = ctx.message.author.status
if t == discord.Status.dnd:
d = " Не беспокоить"
embed.add_field(name="Активность:", value=d, inline=False)
embed.add_field(name="Роль на сервере:", value=f"{ctx.message.author.top_role.mention}",inline=False)
embed.add_field(name="Аккаунт был создан:", value=ctx.message.author.created_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"),inline=False)
embed.set_thumbnail(url=member.avatar)
await ctx.send(embed = embed)
else:
embed = discord.Embed(title="Информация о аккаунте", color=member.color)
embed.add_field(name="Имя:", value=member.display_name,inline=False)
embed.add_field(name="Айди пользователя:", value=member.id,inline=False)
t = ctx.message.author.status
if t == discord.Status.online:
d = " В сети"
t = ctx.message.author.status
if t == discord.Status.offline:
d = "⚪ Не в сети"
t = ctx.message.author.status
if t == discord.Status.idle:
d = " Не активен"
t = ctx.message.author.status
if t == discord.Status.dnd:
d = " Не беспокоить"
embed.add_field(name="Активность:", value=d, inline=False)
embed.add_field(name="Роль на сервере:", value=f"{member.top_role.mention}",inline=False)
embed.add_field(name="Аккаунт был создан:", value=member.created_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"),inline=False)
await ctx.send(embed = embed)
Ответы (1 шт):
Автор решения: Dabl Fresh
→ Ссылка
Ответил поздно, но вы используете t = ctx.author.status, а надо t = member.status, в добавку убери member = ctx.author, это мешает. Вот код:
@bot.command()
async def info(ctx,member:discord.Member = None, guild: discord.Guild = None):
if member == None:
embed = discord.Embed(title="Информация о аккаунте", color=ctx.message.author.color)
embed.add_field(name="Имя:", value=ctx.message.author.display_name,inline=False)
embed.add_field(name="Айди пользователя:", value=ctx.message.author.id,inline=False)
t = ctx.author.status
if t == discord.Status.online:
d = " В сети"
t = ctx.author.status
if t == discord.Status.offline:
d = "⚪ Не в сети"
t = ctx.author.status
if t == discord.Status.idle:
d = " Не активен"
t = ctx.author.status
if t == discord.Status.dnd:
d = " Не беспокоить"
embed.add_field(name="Активность:", value=d, inline=False)
embed.add_field(name="Роль на сервере:", value=f"{ctx.message.author.top_role.mention}",inline=False)
embed.add_field(name="Аккаунт был создан:", value=ctx.message.author.created_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"),inline=False)
embed.set_thumbnail(url=ctx.author.avatar)
await ctx.send(embed = embed)
else:
embed = discord.Embed(title="Информация о аккаунте", color=member.color)
embed.add_field(name="Имя:", value=member.display_name,inline=False)
embed.add_field(name="Айди пользователя:", value=member.id,inline=False)
t = member.status
if t == discord.Status.online:
d = " В сети"
t = member.status
if t == discord.Status.offline:
d = "⚪ Не в сети"
t = member.status
if t == discord.Status.idle:
d = " Не активен"
t = member.status
if t == discord.Status.dnd:
d = " Не беспокоить"
embed.add_field(name="Активность:", value=d, inline=False)
embed.add_field(name="Роль на сервере:", value=f"{member.top_role.mention}",inline=False)
embed.add_field(name="Аккаунт был создан:", value=member.created_at.strftime("%a, %#d %B %Y, %I:%M %p UTC"),inline=False)
await ctx.send(embed = embed)