【发布时间】:2021-04-12 05:42:50
【问题描述】:
如何通过discord.py获取Discord用户自定义状态?
我看过 discord.py 文档。我唯一能找到的是Member.status
返回状态为:在线/离线/空闲/dnd。
但不是新的自定义状态值。 我也不是在搜索自定义状态。
【问题讨论】:
-
你试过开发者门户吗?discord.com/developers/docs/topics/…
如何通过discord.py获取Discord用户自定义状态?
我看过 discord.py 文档。我唯一能找到的是Member.status
返回状态为:在线/离线/空闲/dnd。
但不是新的自定义状态值。 我也不是在搜索自定义状态。
【问题讨论】:
你所追求的是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
activities = (await guild.fetch_member(user.id)).activities。这仍然返回()
activities = guild.get_member(user.id).activities。