亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢測會員自定義狀態和豐富的游戲狀態

如何檢測會員自定義狀態和豐富的游戲狀態

qq_笑_17 2023-08-15 16:27:54
我正在嘗試執行一個成員信息命令,顯示成員的當前活動/狀態,其中顯示其播放/收聽/流媒體狀態(如果找到)以及其自定義狀態(如果找到)。我添加了if語句來檢測播放、收聽和流媒體狀態,并檢測它們正在播放/收聽/流媒體內容,并else在末尾添加了一條語句來檢測自定義狀態,這樣,如果機器人找到狀態但它不是在播放、在收聽或在流式傳輸,那么它是自定義狀態。但是,當用戶玩 Rich Presence 游戲時,機器人會將其視為自定義狀態,并且由于某種原因,播放語句無法捕獲它。我的問題是:如何檢測 Rich Presence 游戲會員的狀態,它們與普通游戲相同還是有其他方式來識別它們,以及如何檢測會員的自定義狀態,因為我找不到回答。我的代碼:for activity in member.activities:            if isinstance(activity, Game):                name = activity.name                Type = "Playing"                Activity = f"{name}"            elif isinstance(activity, Streaming):                name2 = activity.name                name3 = activity.platform                Type = "Streaming"                Activity = f"{name2} on {name3}"            elif isinstance(activity, Spotify):                name4 = activity.title                name5 = activity.artists                Type = "Listening to Spotify"                Activity = f"**Song Name**:{name4}\n**Song Artists:**{name5}"            else:                Custom = member.activity        embed.add_field(name="Activity Type", value=f"{Type}", inline=True)        embed.add_field(name="Activity Name", value=f"{Activity}", inline=True)        embed.add_field(name="Custom Status", value=f"{Custom}", inline=True)
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

嘗試使用

for activity in member.activities:
    print(type(activity), activity)

查看每個活動的實例類型和活動,這樣您就可以看到實際需要匹配的內容:

https://img1.sycdn.imooc.com//64db3750000177b208820177.jpg

查看完整回答
反對 回復 2023-08-15
?
森欄

TA貢獻1810條經驗 獲得超5個贊

我能夠確定我應該使用哪種類型的活動,對于自定義狀態,使用的類型是CustomActivity,對于豐富的存在游戲,我只是使用了一個聲明else。


代碼:


for activity in member.activities:

            if isinstance(activity, Game):

                name = activity.name

                Type = "Playing"

                Activity = f"{name}"

            elif isinstance(activity, Streaming):

                name2 = activity.name

                name3 = activity.platform

                Type = "Streaming"

                Activity = f"{name2} on {name3}"

            elif isinstance(activity, Spotify):

                name4 = activity.title

                name5 = activity.artists

                Type = "Listening to Spotify"

                Activity = f"**Song Name**:{name4}\n**Song Artists:**{name5}"

            elif isinstance(activity, CustomActivity):

                name6 = activity.name

                Type = "Custom Status"

                Custom = f"{name6}"

            else:

                name7 = activity.name

                Type =  "Playing"

                Activity = f"{name7}"


查看完整回答
反對 回復 2023-08-15
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號