Как я могу сделать команду spotify? - PullRequest
0 голосов
/ 24 июня 2019

Команда Spotify

я много чего пробовал и не могу заставить это работать

@client.command()
async def spotify(ctx, user: discord.Member = None):
        embedspotify = discord.Embed(title=f"{user.name}'s Spotify", color=0x1eba10)
        embedspotify.add_field(name="Song", value=Spotify.title)
        embedspotify.add_field(name="Artist", value=Spotify.artist)
        embedspotify.add_field(name="Album", value=Spotify.album)
        embedspotify.set_thumbnail(url=Spotify.album_cover_url)

Я пытаюсь получить название песни, имя исполнителя и название альбома человека, на которого я использую команду (когда они слушают музыку)

1 Ответ

0 голосов
/ 25 июня 2019

Вам необходимо получить экземпляр Spotify из списка действий, которые выполняет Member:

@client.command()
@commands.guild_only() # We can only access activities from a guild
async def spotify(ctx, user: discord.Member = None):
    user = user or ctx.author  # default to the caller
    spot = next((activity for activity in user.activities if isinstance(activity, discord.Spotify)), None)
    if spot is None:
        await ctx.send(f"{user.name} is not listening to Spotify")
        return
    embedspotify = discord.Embed(title=f"{user.name}'s Spotify", color=0x1eba10)
    embedspotify.add_field(name="Song", value=spot.title)
    embedspotify.add_field(name="Artist", value=spot.artist)
    embedspotify.add_field(name="Album", value=spot.album)
    embedspotify.set_thumbnail(url=spot.album_cover_url)
    await ctx.send(embed=embedspotify)
...