如何获取“member.activity”的片段以及如何发送自定义状态(discord.py)

时间:2021-06-13 19:36:58

标签: python-3.x discord.py

我的 whois 命令旨在发送指定用户的活动,但它给出了很长的回复。我希望它发送 activity typename。还有一种方法可以让机器人发送一个人的自定义状态 代码:

    whois_embed = discord.Embed(timestamp=datetime.datetime.utcnow(), color = 0x00ceea)
    whois_embed.add_field(name = "Activity", value = member.activity, inline = False)

    await ctx.send(embed = whois_embed)

机器人发送的内容:

Activity
<Activity type=<ActivityType.watching: 3> name='over 3 servers' url=None details=None application_id=None session_id=None emoji=None>

1 个答案:

答案 0 :(得分:1)

您需要查看 declared in the docs 等属性。

要获取活动的名称,请使用

activityName = member.activity.name

并获取类型使用

activityType = member.activity.type

但由于 member.activity.type 不是字符串,它会打印为类似 ActivityType.custom 的内容。不过,您可以使用 dict 或其他东西将其转换为字符串。


whois_embed = discord.Embed(timestamp=datetime.datetime.utcnow(), color = 0x00ceea)
whois_embed.add_field(name = "Activity", value = member.activity.name, inline = False)

await ctx.send(embed = whois_embed)