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