music: more misc fixes
This commit is contained in:
		
							parent
							
								
									c7fe95623c
								
							
						
					
					
						commit
						b18cf6f779
					
				
					 1 changed files with 19 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -138,7 +138,10 @@ async function processPlaylist(
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
async function createVoiceConnection(guild_id, voice_id, text_id) {
 | 
			
		||||
  const state = {};
 | 
			
		||||
  const state = {
 | 
			
		||||
    voice_id,
 | 
			
		||||
    text_id,
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  const guild = hf.bot.guilds.get(guild_id);
 | 
			
		||||
  state.connection = hf.bot.joinVoiceChannel({
 | 
			
		||||
| 
						 | 
				
			
			@ -148,7 +151,6 @@ async function createVoiceConnection(guild_id, voice_id, text_id) {
 | 
			
		|||
    selfMute: false,
 | 
			
		||||
    voiceAdapterCreator: guild.voiceAdapterCreator,
 | 
			
		||||
  });
 | 
			
		||||
  state.text_id = text_id;
 | 
			
		||||
  state.queue = [];
 | 
			
		||||
  state.player = createAudioPlayer();
 | 
			
		||||
  state.connection.subscribe(state.player);
 | 
			
		||||
| 
						 | 
				
			
			@ -169,8 +171,8 @@ async function createVoiceConnection(guild_id, voice_id, text_id) {
 | 
			
		|||
        addedBy: next.addedBy,
 | 
			
		||||
      });
 | 
			
		||||
    } else {
 | 
			
		||||
      await state.player.stop();
 | 
			
		||||
      await state.connection.disconnect();
 | 
			
		||||
      state.player.stop();
 | 
			
		||||
      state.connection.disconnect();
 | 
			
		||||
      if (!state.__leave) {
 | 
			
		||||
        await hf.bot.guilds
 | 
			
		||||
          .get(guild_id)
 | 
			
		||||
| 
						 | 
				
			
			@ -178,6 +180,7 @@ async function createVoiceConnection(guild_id, voice_id, text_id) {
 | 
			
		|||
          .createMessage({
 | 
			
		||||
            content: ":musical_note: Queue is empty, leaving voice channel.",
 | 
			
		||||
          });
 | 
			
		||||
        await hf.bot.leaveVoiceChannel(voice_id);
 | 
			
		||||
      }
 | 
			
		||||
      state.player.off(AudioPlayerStatus.Idle, state.onEnd);
 | 
			
		||||
      voiceStorage.delete(guild_id);
 | 
			
		||||
| 
						 | 
				
			
			@ -375,7 +378,7 @@ async function enqueue({
 | 
			
		|||
      ],
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    connection._music_nowplaying = {
 | 
			
		||||
    connection.nowplaying = {
 | 
			
		||||
      title,
 | 
			
		||||
      addedBy,
 | 
			
		||||
      thumbnail,
 | 
			
		||||
| 
						 | 
				
			
			@ -435,7 +438,7 @@ command.callback = async function (
 | 
			
		|||
      if (msg.member?.voiceState?.channelID) {
 | 
			
		||||
        if (voiceStorage.has(msg.guildID)) {
 | 
			
		||||
          const connection = voiceStorage.get(msg.guildID);
 | 
			
		||||
          if (connection.channelID != msg.member.voiceState.channelID) {
 | 
			
		||||
          if (connection.voice_id != msg.member.voiceState.channelID) {
 | 
			
		||||
            return "You are in a different voice channel than the bot.";
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -584,7 +587,7 @@ command.callback = async function (
 | 
			
		|||
      if (msg.member?.voiceState?.channelID) {
 | 
			
		||||
        const connection = voiceStorage.get(msg.guildID);
 | 
			
		||||
        if (voiceStorage.has(msg.guildID)) {
 | 
			
		||||
          if (connection.channelID != msg.member.voiceState.channelID) {
 | 
			
		||||
          if (connection.voice_id != msg.member.voiceState.channelID) {
 | 
			
		||||
            return "You are in a different voice channel than the bot.";
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -601,7 +604,7 @@ command.callback = async function (
 | 
			
		|||
      if (msg.member?.voiceState?.channelID) {
 | 
			
		||||
        const connection = voiceStorage.get(msg.guildID);
 | 
			
		||||
        if (voiceStorage.has(msg.guildID)) {
 | 
			
		||||
          if (connection.channelID != msg.member.voiceState.channelID) {
 | 
			
		||||
          if (connection.voice_id != msg.member.voiceState.channelID) {
 | 
			
		||||
            return "You are in a different voice channel than the bot.";
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -609,7 +612,8 @@ command.callback = async function (
 | 
			
		|||
        // TODO: skip lock checks
 | 
			
		||||
        connection.queue = [];
 | 
			
		||||
        connection.__leave = true;
 | 
			
		||||
        await connection.stopPlaying();
 | 
			
		||||
        connection.player.stop();
 | 
			
		||||
        connection.connection.disconnect();
 | 
			
		||||
        await hf.bot.leaveVoiceChannel(msg.member.voiceState.channelID);
 | 
			
		||||
        return {reaction: "\uD83D\uDC4B"};
 | 
			
		||||
      } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -620,7 +624,7 @@ command.callback = async function (
 | 
			
		|||
        return "The bot is not in a voice channel.";
 | 
			
		||||
 | 
			
		||||
      const connection = voiceStorage.get(msg.guildID);
 | 
			
		||||
      const nowPlaying = connection._music_nowplaying;
 | 
			
		||||
      const nowPlaying = connection.nowplaying;
 | 
			
		||||
      if (!nowPlaying || !connection.playing)
 | 
			
		||||
        return "Nothing is currently playing.";
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -671,10 +675,10 @@ command.callback = async function (
 | 
			
		|||
        return "The bot is not in a voice channel";
 | 
			
		||||
 | 
			
		||||
      const connection = voiceStorage.get(msg.guildID);
 | 
			
		||||
      const queue = connection._music_queue;
 | 
			
		||||
      const queue = connection.queue;
 | 
			
		||||
      if (queue.length === 0) return "Nothing else is currently queued";
 | 
			
		||||
 | 
			
		||||
      const nowPlaying = connection._music_nowplaying;
 | 
			
		||||
      const nowPlaying = connection.nowplaying;
 | 
			
		||||
 | 
			
		||||
      const now = Date.now();
 | 
			
		||||
      let nextTrack = now + (nowPlaying.length - (now - nowPlaying.start));
 | 
			
		||||
| 
						 | 
				
			
			@ -716,12 +720,12 @@ command.callback = async function (
 | 
			
		|||
      if (msg.member?.voiceState?.channelID) {
 | 
			
		||||
        const connection = voiceStorage.get(msg.guildID);
 | 
			
		||||
        if (voiceStorage.has(msg.guildID)) {
 | 
			
		||||
          if (connection.channelID != msg.member.voiceState.channelID) {
 | 
			
		||||
          if (connection.voice_id != msg.member.voiceState.channelID) {
 | 
			
		||||
            return "You are in a different voice channel than the bot.";
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let queue = connection._music_queue;
 | 
			
		||||
        let queue = connection.queue;
 | 
			
		||||
        if (queue.length === 0) return "Nothing else is currently queued";
 | 
			
		||||
 | 
			
		||||
        const hasManageMessages = msg.member.permissions.has("manageMessages");
 | 
			
		||||
| 
						 | 
				
			
			@ -746,7 +750,7 @@ command.callback = async function (
 | 
			
		|||
        );
 | 
			
		||||
 | 
			
		||||
        if (Array.isArray(toRemove)) {
 | 
			
		||||
          connection._music_queue = connection._music_queue.filter(
 | 
			
		||||
          connection.queue = connection.queue.filter(
 | 
			
		||||
            (item) => !toRemove.includes(item.id)
 | 
			
		||||
          );
 | 
			
		||||
          return `Removed ${toRemove.length} item(s).`;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue