【问题标题】:Discord.py get custom statusDiscord.py 获取自定义状态
【发布时间】:2021-04-12 05:42:50
【问题描述】:

如何通过discord.py获取Discord用户自定义状态?

我看过 discord.py 文档。我唯一能找到的是Member.status 返回状态为:在线/离线/空闲/dnd。

但不是新的自定义状态值。 我也不是在搜索自定义状态。

【问题讨论】:

标签: python discord


【解决方案1】:

你所追求的是CustomActivity

正如文档中所解释的,一个用户可以有多个活动,但试试这个大小:

@bot.command()
async def mycustomstatus(ctx):
    for s in ctx.author.activities:
        if isinstance(s, discord.CustomActivity):
            await ctx.send(s)

稍微相关的说明:请记住,在撰写此答案时,机器人 cannot set custom activities;只阅读它们。


编辑:
如果您无法获取成员的活动,请确保您已启用特权意图:

import discord

intents = discord.Intents().all()
bot = commands.Bot(command_prefix=..., intents=intents)

从您的机器人的应用程序页面:


参考资料:

【讨论】:

  • discord.Member.activity 总是返回 None
  • @Aaron 那是因为你需要一个成员的instance,而不仅仅是成员对象。请参阅this post 了解更多信息。
  • 我有两个意图,并且正在使用这个:activities = (await guild.fetch_member(user.id)).activities。这仍然返回()
  • @Aaron 尝试改用activities = guild.get_member(user.id).activities
猜你喜欢
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 1970-01-01
  • 2021-07-15
  • 2019-06-15
相关资源
最近更新 更多