Added seek
This commit is contained in:
parent
340ef45b17
commit
0aafe950f7
1 changed files with 24 additions and 0 deletions
24
commands/music/seek.js
Normal file
24
commands/music/seek.js
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
import { Rest } from "lavacord";
|
||||||
|
import MusicCommand from "../../classes/musicCommand.js";
|
||||||
|
|
||||||
|
class SeekCommand extends MusicCommand {
|
||||||
|
async run() {
|
||||||
|
if (!this.message.channel.guild) return "This command only works in servers!";
|
||||||
|
if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
|
||||||
|
if (!this.message.channel.guild.members.get(this.client.user.id).voiceState.channelID) return "I'm not in a voice channel!";
|
||||||
|
if (this.connection.host !== this.message.author.id) return "Only the current voice session host can seek the music!";
|
||||||
|
const player = this.connection.player;
|
||||||
|
const track = await Rest.decode(player.node, player.track);
|
||||||
|
if (!track.isSeekable) return "This track isn't seekable!";
|
||||||
|
const seconds = parseInt(this.args[0]);
|
||||||
|
if (isNaN(seconds) || (seconds * 1000) > track.length || (seconds * 1000) < 0) return "That's not a valid position!";
|
||||||
|
player.seek(seconds * 1000);
|
||||||
|
return `🔊 Seeked track to ${seconds} seconds.`;
|
||||||
|
}
|
||||||
|
|
||||||
|
static description = "Seeks to a different position in the music";
|
||||||
|
static aliases = ["pos"];
|
||||||
|
static arguments = ["[seconds]"];
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SeekCommand;
|
Loading…
Reference in a new issue