DisTube播放歌曲时不显示歌曲名与请求用户仅显示时长问题求助
问题根因
你使用的DisTube v3及以上版本中,playSong事件的回调参数顺序有误:
- 第一个回调参数是队列对象
Queue,而非歌曲对象Song - 你需要的歌曲名称、点歌用户等属性都存储在第二个回调参数
Song中 - 仅
formattedDuration能正常显示是因为队列对象也存在同名属性,刚好匹配上了才没报错
修复方案
调整事件回调的参数顺序即可,修正后代码如下:
client.distube .on("playSong", (queue, song) => message.channel.send( `Playing \`${song.title}\` - \`${song.formattedDuration}\`\nRequested by: ${song.user}` ))
如果需要正常@点歌用户,可以将${song.user}替换为<@${song.user.id}>,如果只需要显示用户名则可以用${song.user.tag}。
内容的提问来源于stack exchange,提问作者Vaishnav Sunil
相关产品推荐
相关产品推荐

