如何在 discord.py 重写时格式化时间?

How to format time on discord.py rewrite?

我正在 discord.py 重写命令,它使用用户的 activity 发送有关他们在 Spotify 上收听的内容的嵌入。该命令有效,但歌曲的持续时间以小时、分钟、秒、毫秒为单位。我正在努力做到只有几分钟和几秒钟,我该怎么做呢?这是我的嵌入代码,我在末尾的嵌入图像上附加了一个 imgur link:

            em.title = f'{user.display_name} is listening to Spotify'
            em.set_thumbnail(url=activity.album_cover_url)
            em.add_field(name="**Song name:**", value=activity.title, inline=False)
            em.add_field(name="**Song artist:**", value=activity.artist, inline=False)
            em.add_field(name="**Song Length:**", value=activity.duration, inline=False)
            await ctx.send(embed=em)

https://i.stack.imgur.com/S89JS.png

discord docs specify that the song duration activity.duration is a datetime.timedelta 对象。

尝试使用以下 divmod() 更新您的嵌入代码以将 activity.duration.seconds 分为分钟和秒。

em.title = f'{user.display_name} is listening to Spotify'
em.set_thumbnail(url=activity.album_cover_url)
em.add_field(name="**Song name:**", value=activity.title, inline=False)
em.add_field(name="**Song artist:**", value=activity.artist, inline=False)
m1, s1 = divmod(int(activity.duration.seconds), 60)
song_length = f'{m1}:{s1}'
em.add_field(name="**Song Length:**", value=song_length, inline=False)
await ctx.send(embed=em)

结果: