我目前正在开发一个带有 discord.py 的私人不和谐机器人,它需要检测用户丰富存在的内容(即他们正在玩的游戏的名称以及他们正在做什么的简短描述,如果游戏提供了它),而且我找不到关于如何在官方 discord.py 文档之外使用丰富的存在 api 的太多解释。最终目标是检测他们是否在玩带有 x 描述的 x 游戏,但如果有人能解释它的概念,那就太棒了。
答案 0 :(得分:0)
所以让我们假设我们有一个变量,它是 discord.Member 命名成员的实例。 (可以通过 ctx.author
或在函数参数中使用 member: discord.Member
获得)
首先我们需要检查他是否在玩游戏。为此,我们将循环遍历 member.activities
并查看 Activity 是否为游戏。
game = None
for activity in member.activities:
if isinstance(activity, discord.Game):
game = activity
我们在这里循环是因为一个人可能有多个活动,而其中只有一个是游戏。 现在我们将检查是否找到了游戏活动
if game is None:
return await ctx.send("Not playing any Games")
# We have the return here because we don't want the command to go any further
现在我们手上有一个 discord.Game 实例。我们可以用它来获取一些细节,比如
game.name
游戏名称
game.details
游戏详情/描述
game.start
当用户开始玩游戏时
game.large_image_url
大图网址
game.small_image_url
小图片网址
game.large_image_text
显示的大图像文本,然后将鼠标悬停在大图像上
game.small_image_text
显示的小图片文本,然后将鼠标悬停在小图片上
注意:其中一些属性可能是 None
,如果游戏未提供,更多属性请阅读 documentation