bot.manager.search({ query: search }).then(async (res) => { if (res.loadType === 'track') res = { tracks: [res.data[0]] }; if (res.loadType === 'playlist') res = { tracks: [res.data] }; for (const track of res.tracks) { track.requester = member.user.id } res.tracks = await bot.replaceCredentials(bot, res); if (SongUserLimit > 0 && MusicDJ && !MusicDJRole.some((role) => member.roles.cache.has(role))) { const remainingLimit = SongUserLimit - player.queue.filter((song) => song.requester.id === member.user.id).length; if (remainingLimit <= 0) { embed = new EmbedBuilder().setColor(bot.config.colorOrange).setDescription( bot.translate(Language, 'translation:misc.music.userTrackLimitReached', { NUMBER: SongUserLimit, }) ); return message.reply({ embeds: [embed], }); } else if (res.tracks.length > remainingLimit) { res.tracks = res.tracks.slice(0, remainingLimit); } res.tracks = res.tracks.slice(0, SongUserLimit); } if (SongTimeLimitMS > 0 && MusicDJ && !MusicDJRole.some((role) => member.roles.cache.has(role))) { res.tracks = res.tracks.filter((song) => song.duration <= SongTimeLimitMS); } const track = res.tracks[0]; if (!track || res.tracks.length === 0) { embed = new EmbedBuilder().setColor(bot.config.colorWrong).setDescription(bot.translate(Language, 'translation:misc.noSoungsFound')); return message.reply({ embeds: [embed], }); } switch (res.loadType) { case 'empty': embed = new EmbedBuilder().setColor(bot.config.colorWrong).setDescription(bot.translate(Language, 'translation:misc.noSoungsFound')); message.reply({ embeds: [embed], }); break; case 'track': case 'search': bot.logger.log(`[GuildID: ${msg.guild.id}] [UserID: ${msg.author.id}] ${res.loadType.toLowerCase()}: ${track.author} - ${track.title}`); if (flags.next) { player.queue.unshift(track); } else { player.queue.add(track); } if (flags.shuffle) player.queue.shuffle(); // console.log(player) if (!player.playing && !player.paused) player.play(); // if (!player.playing && !player.paused && !player.queue.size) player.play(); break; case 'playlist': if (search.includes('&list=RD')) { bot.logger.log(`[GuildID: ${msg.guild.id}] [UserID: ${msg.author.id}] track_loaded: ${track.author} - ${track.title}`); if (flags.next) { player.queue.unshift(track); } else { player.queue.add(track); } if (flags.shuffle) player.queue.shuffle(); embed = new EmbedBuilder().setColor(color).setDescription( bot.translate(Language, 'translation:play.embedDesc.trackQueuedFromPlaylist', { NAME: res.playlistInfo.name, }) ); if (!player.playing && !player.paused && !player.queue.size) player.play(); break; } else { if (Playlists) { bot.logger.log(`[GuildID: ${msg.guild.id}] [UserID: ${msg.author.id}] ${res.loadType.toLowerCase()}: ${res.playlist.name}`); if (flags.shuffle) shuffleArray(res.tracks); if (flags.reverse) res.tracks.reverse(); if (flags.next) { player.queue.unshift(...res.tracks); } else { player.queue.add(res.tracks); } embed = new EmbedBuilder().setColor(color).setDescription( bot.translate(Language, 'translation:misc.playlistLoaded', { NUMBER: res.tracks.length, NAME: res.playlistInfo.name, }) ); if (!player.playing && !player.paused && player.queue.totalSize === res.tracks.length) player.play(); } else { embed = new EmbedBuilder().setColor(bot.config.colorOrange).setDescription(bot.translate(Language, 'translation:misc.playlistsDisabled')); } } message.reply({ embeds: [embed], }); break; default: break; } if (player.queue.current && player.queue.size > 0) return await bot.musicembed(bot, player, { mChannelID, mChannelEmbedID, Requester, Language, }); });