如何在discord.py中获取用户活动的运行时长与开始时间?
获取Spotify用户活动开始时间的可行方案
- Spotify官方API没有直接提供"用户活动开始时间"的字段,因为它没有统一定义"活动"(即播放会话)的边界标准。
- 你可以通过两种方式实现需求:
- 实时监听会话启动:
监听Spotify播放器的player_state_changed事件,当检测到播放器从停止/暂停状态切换到播放状态时,记录当前时间作为本次活动的开始时间。 - 回溯历史活动时间:
调用/v1/me/player/recently-played接口获取播放历史,其中的played_at是单首歌曲播放结束的时间。结合歌曲的duration_ms字段,可计算出单首歌的播放开始时间:播放开始时间 = played_at - duration_ms。之后你可以按时间序列归类这些记录,把连续播放的歌曲划分为同一个活动,取该组的最早开始时间作为活动开始时间。
- 实时监听会话启动:
- 补充:你之前用的
created_at是歌曲被添加到某个资源(比如歌单)的时间,和播放活动完全无关,确实不符合需求。
内容的提问来源于stack exchange,提问作者TAxel
相关产品推荐
相关产品推荐

