Discord.py Spotify似乎没有做任何事情

2022-04-17 00:00:00 python spotify discord.py

问题描述

我正在开发我的第一个机器人,只是作为一种爱好和帮助我学习一些Python的东西,我一直试图将Spotify与它集成在一起,但似乎就是不起作用。我也读了这个网站上的另一篇帖子,但没有帮助。

我已尝试通读文档,但我是初学者,在Google上找不到任何帮助。

如果我确实打印(discord.Spotify.title),则在0x0000020E42C5DE00>;处得到此<;属性对象

这是我尝试使用但不起作用的代码:

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)

对于任何格式问题,深表歉意。不确定我是否正确使用了代码块

如果有什么不同的话,我也会使用齿轮。

我只想让它至少给我回一条用户正在播放的歌曲的消息,这样我就可以让它对不同的艺术家或歌曲做出不同的回应。

谢谢!


解决方案

您可以尝试检查您的意图是否有问题。导入all,功能如下:

intents = discord.Intents.all()
client = discord.Client(intents=intents)

通过代码连接,以下命令适用于我:

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)

输出:

相关文章