繁体   English   中英

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

[英]How to use the Spotify class in discord.py?

好的,所以我正在编写一个命令, k!spotify @user显示有关用户正在听的歌曲的一些信息,例如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

我知道discord.Spotify.title等不会给我一些特定于用户的东西,但我尝试了user.Spotify.title和这些方面的东西无济于事。 我确定这只是我的一个误解,但是我应该如何在这里使用 Spotify 类?

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}")
from discord import Spotify

@bot.command()
async def spotify(ctx, user: discord.Member = None):
    if user == None:
        user = ctx.author
        pass
    if user.activities:
        for activity in user.activities:
            if isinstance(activity, Spotify):
                embed = discord.Embed(
                    title = f"{user.name}'s Spotify",
                    description = "Listening to {}".format(activity.title),
                    color = 0xC902FF)
                embed.set_thumbnail(url=activity.album_cover_url)
                embed.add_field(name="Artist", value=activity.artist)
                embed.add_field(name="Album", value=activity.album)
                embed.set_footer(text="Song started at {}".format(activity.created_at.strftime("%H:%M")))
                await ctx.send(embed=embed)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM