【问题标题】:have bot detect discord members rich presence让机器人检测不和谐成员丰富的存在
【发布时间】:2021-06-21 12:35:31
【问题描述】:

我目前正在使用 discord.py 开发一个私人不和谐机器人,它需要检测用户丰富存在的内容(即他们正在玩的游戏的名称以及他们正在做什么的简短描述,如果游戏提供了它)并且我在官方 discord.py 文档之外找不到关于如何使用丰富的存在 api 的太多解释。最终目标是检测他们是否在玩带有 x 描述的 x 游戏,但如果有人能解释它的概念,那就太棒了。

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    假设我们有一个变量,它是 discord.Member 命名成员的实例。 (可以通过ctx.author 或在函数参数中使用member: discord.Member 获得)

    首先我们需要检查他是否在玩游戏。为此,我们将遍历member.activities 并查看该活动是否为游戏。

    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

    【讨论】:

      猜你喜欢
      • 2018-04-02
      • 2019-02-22
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 2020-12-30
      • 2021-08-30
      • 2019-12-05
      • 2019-06-08
      相关资源
      最近更新 更多