如何使用discord.js音乐机器人在歌曲中寻找要点?

时间:2020-09-05 03:12:19

标签: node.js discord.js ytdl

我正在尝试使用discord.js做一个ytdl-core音乐机器人。我不太确定在使用命令时如何在歌曲中寻找当前时间,而寻求帮助的确做得并不多。该命令将像!seek 1:30一样工作。

我要查找的是:
a)调度程序是否包含查找功能?

//i.e like below
let ms = 90000; //would be converted from arguments
queue.connection.dispatcher.seek(ms) //Does this exist???

或b)如何在特定时间开始播放歌曲?

//Add the song again, but with a timestamp, and end current song
let seekedSong = queue.songs[0];
seekedSong.startTime = 90000; 
queue.songs.unshift(seekedSong);
queue.connection.dispatcher.end()
/* However, how do I start a song given a start time?
 * 
 * In my play.js file, which plays the next song in the queue automatically, 
 * how can i tell it to start at a time? I tried dispatcher.end() and supplying 
 * a youtube link with ?t={sec}s, but that didnt work
 */

1 个答案:

答案 0 :(得分:1)

VoiceConnection#play需要第二个StreamOptions参数。您可以使用seek属性指定要搜索的秒数:

// When playing the song:
const stream = ytdl('https://youtu.be/dQw4w9WgXcQ')
// Store the stream somewhere
queue.currentSong = stream

// When seeking:
queue.connection.play(queue.currentSong, {seek: ms / 1000})