如何在discord.py中使用Spotify类?

xup*_*aii 0 python discord.py

好的,我正在编写一个命令,它仅显示有关用户正在收听的歌曲的一些信息,例如k!spotify @user显示歌曲名称、艺术家、专辑、专辑封面等。但是,我在 Spotify 类方面遇到问题。

这是我第一次尝试使用 Spotify 类,但我认为这不是问题。我希望这些变量是特定于用户的,而不是<property object at 0x0460B7E0>

async def spotify(ctx, user: discord.Member=None):
    if not user:
        user = ctx.message.author.id
    else:
        user = user.id

    sname = discord.Spotify.title
    sartists = discord.Spotify.artists
    album = discord.Spotify.album
    palbum = discord.Spotify.album_cover_url
    duration = discord.Spotify.duration
Run Code Online (Sandbox Code Playgroud)

我知道discord.Spotify.title等不会给我一些特定于用户的东西,但我尝试user.Spotify.title了这些,但没有成功。我确信这只是我的一个误解,但是我应该如何在这里使用 Spotify 类呢?

Pat*_*ugh 5

Spotify是 的一种类型Activity。您只需要获取Member.activities并选择那些也是 的Spotify。我不知道是否可以进行不止一项特定活动,因此您可能必须考虑到这一点:

from discord import Spotify

@bot.command()
async def spotify(ctx, user: discord.Member=None):
    user = user or ctx.author
    for activity in user.activities:
        if isinstance(activity, Spotify):
            await ctx.send(f"{user} is listening to {activity.title} by {activity.artist}")
Run Code Online (Sandbox Code Playgroud)