discord.py Spotify 似乎啥也没做
Posted
技术标签:
【中文标题】discord.py Spotify 似乎啥也没做【英文标题】:discord.py Spotify doesnt seem to do anythingdiscord.py Spotify 似乎什么也没做 【发布时间】:2021-07-07 04:05:40 【问题描述】:我正在开发我的第一个机器人只是作为一种爱好和帮助我学习一些 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)
对任何格式问题表示歉意。不确定我是否正确使用了代码块
如果有什么不同的话,我也会使用 cogs。
只是希望它至少向我发送一条消息,其中包含用户正在播放的歌曲,以便我可以让它对不同的艺术家或歌曲做出不同的反应。
谢谢!
【问题讨论】:
【参考方案1】:您可以尝试检查您的 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)
输出:
【讨论】:
不,仍然没有。我不确定问题出在哪里,因为我的 Spotify 已打开并正在播放,并且我在 cog 和 main.py 中都尝试了代码,但 Discord 中没有响应或控制台中打印错误。我所有的其他命令都有效,所以我不知道发生了什么。在一个 cog 中,我所做的只是将其更改为 commands.command 而不是 bot.command 您是否还激活了人们可以看到您在 Spotify 上播放的内容? (Shortcuts -> Show Spotify as your status
) 如果您使用 commands.command
/Cogs,您可以尝试将命令编辑为以下内容:async def spotify(self, ctx, user: discord.Member = None):
- 也许这就是问题所在。
是的,Spotify 显示为我的状态,但仍然没有。我也添加了自我,但仍然没有。如果我的代码是正确的,我想知道问题出在哪里。
您是否正确缩进了代码?您还可以将#
添加到各个字段,并查看fields
之一是否会导致错误。
好的,我已经做了一些测试。不确定我是否正确执行此操作,但如果我告诉print(user.activities)
控制台仅显示()
我的状态是什么(spotify,什么都没有,easyRP)无关紧要,输出不会改变。这可能是权限问题吗?感谢您的帮助。以上是关于discord.py Spotify 似乎啥也没做的主要内容,如果未能解决你的问题,请参考以下文章
hexo的next主题变成 似乎是德语了,我啥也没做,原本是英语,如何...
在 $git push -u origin main 命令之后,Git bash 没有请求任何身份验证,实际上啥也没做
尝试将带有文字的图片发送到 Instagram 快拍,但 com.instagram.share.ADD_TO_STORY 啥也没做