Discord.py Spotify似乎没有做任何事情
问题描述
我正在开发我的第一个机器人,只是作为一种爱好和帮助我学习一些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)
输出:
相关文章