python - discord.py Spotify 似乎没有做任何事情
问题描述
我正在开发我的第一个机器人只是作为一种爱好和帮助我学习一些 Python 的东西,我一直在尝试将 Spotify 与它集成,但它似乎不起作用。我还阅读了该网站上的另一篇文章,但没有帮助。
我试过阅读文档,但我是初学者,在谷歌上找不到太多帮助。
如果我打印(discord.Spotify.title),我会得到这个 <property object at 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)
对任何格式问题表示歉意。不确定我是否正确使用了代码块
如果它有什么不同的话,我也会使用齿轮。
只是希望它至少给我发回一条用户正在播放的歌曲的消息,这样我就可以让它对不同的艺术家或歌曲做出不同的反应。
谢谢!
解决方案
您可以尝试检查您的 Intent 是否有问题。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)
输出:
推荐阅读
- react-native - 使用 Expo cli 在 React Native 中的 Instagram 私有 API
- javascript - 比较数组中的两个对象,删除重复数据,合并不同的数据?
- reactjs - 减少 BlueprintJS 包的大小
- php - cURL 错误 60:SSL 证书问题,anche con cacert.pem
- makefile - GNU make:如何在我的先决条件中为多个目标使用自动变量?
- python - 重新加载模块后枚举比较变为 False
- amazon-web-services - 触发 lambda 事件
- jquery - 加载完页面的其余部分后,如何使用 jQuery 加载内容?
- azure - 您似乎正在尝试从广播中引用 SparkContext
- php - Google Drive API - 文件监视不通知