пишет не в сети
по идеи он должен писать статус человека, а пишет постоянно не в сети
@client.command()
async def user(ctx,member:discord.Member = None, guild: discord.Guild = None):
await ctx.message.delete()
if member == None:
emb = discord.Embed(title="Информация о пользователе", color=ctx.message.author.color)
emb.add_field(name="Имя:", value=ctx.message.author.display_name,inline=False)
emb.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 = " Не беспокоить"
Ответы (1 шт):
Давайте слегка сократим ваш код и попытаемся сделать то, что вам нужно. Я как понимаю, у вас возникла проблема только со стаусами, поэтому сокращу код до них
Во первых вы зачем то проверяете - Если при написание !user не написали никакого пользователя, то код будет показывать только информацию о вас, но зачем же вам тогда member, если с ним никаких действий не происходит, поэтому исправил эту проблему. Дальше вы зачем то хотите получать гильдию, но в коде она никак не фигурирует, опять же, скорее всего код не полный, но я на всякий случай убрал её.
Дальше у вас просто куча ужасных проверок) сократите код, избавьте мир от них) да и не понятно зачем вы каждый раз обращайтесь к дискорду что бы переназначить переменную
Ниже написал код, как вижу его я. В embed'ах вы потом просто от member их получайте
@client.command()
async def user(ctx,member:discord.Member = None):
await ctx.message.delete()
if member == None:
member = ctx.author
statuss = {"online": "В сети",
"offline": "Не в сети",
"idle": "Не активен",
"dnd": "Не беспокоить"}
t = statuss[member.status.name]
print(t)