首页 > 解决方案 > Discord.py status 不显示会员在线状态,而是显示离线

问题描述

在此处输入图像描述我有一个命令可以检查有关给定播放器和机器人的信息。最后一个错误是在显示活动和成员时,因为当您输入一个可用的成员时,它表明他不可用。我使用这个命令:member.status

`client = discord.Client()
 intents = discord.Intents.default()
 intents.presences = True
 client = commands.Bot(command_prefix="q.", intents=intents)
 client.remove_command('help')
 
 @client.command()
async def getname(ctx, member: discord.Member = None):
member = ctx.author if not member else member
roles = [role for role in member.roles]
embed = discord.Embed(
    clour=member.color, timestamp=ctx.message.created_at, color=0x00ff00)
embed.set_author(name=f"Nazwa użytkownika: {member}")
embed.set_thumbnail(url=member.avatar_url)
embed.set_footer(
    text=f"Utworzony {ctx.author}", icon_url=ctx.author.avatar_url)
embed.add_field(name="ID", value=member.id)
embed.add_field(name="Pseudomin", value=member.display_name)
embed.add_field(
    name="Konto Utworzone:",
    value=member.created_at.strftime("%d.%m.%Y,%H:%M.%S"))
embed.add_field(
    name="Dołączył:", value=member.joined_at.strftime("%d.%m.%Y,%H:%M.%S"))
embed.add_field(
    name=f"Rola ({len(roles)})",
    value=" ".join([role.mention for role in roles]))
embed.add_field(name="Najwyższa rola", value=member.top_role.mention)
embed.add_field(name="Status", value=member.status)
embed.add_field(name="Aktywność", value=member.activity)
embed.add_field(name="Bot", value=member.bot)
embed.add_field(name="Status mobilny", value=member.mobile_status)
embed.add_field(name="Nitro", value=member.premium_since)
embed.add_field(name="Kolor nazwy", value=member.color)
embed.add_field(name="Kanał Głosowy", value=member.voice)
embed.add_field(name="Status na komputerze", value=member.desktop_status)
await ctx.send(embed=embed)

`

标签: discord.py

解决方案


您应该从不和谐开发者门户为您的机器人激活服务器成员意图,然后您必须为您的机器人提供如下可访问性:

intents = discord.Intents(members = True, presences = True)

client = commands.Bot(command_prefix="q.", intents=intents)

推荐阅读