【问题标题】:How to get a segment of "member.activity" and how to send custom status' (discord.py)如何获取“member.activity”的片段以及如何发送自定义状态(discord.py)
【发布时间】:2021-06-13 19:36:58
【问题描述】:

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

    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>

【问题讨论】:

    标签: python-3.x discord.py


    【解决方案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)
    

    【讨论】:

    • 问题是,它不适用于自定义状态'和观看/播放状态'
    猜你喜欢
    • 1970-01-01
    • 2021-04-12
    • 2020-05-20
    • 2023-04-09
    • 2021-03-01
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 2018-05-07
    相关资源
    最近更新 更多