public async Task SpotifyPlaylist(CommandContext ctx, string uri) { FullAlbum album = await global.spotify.Albums.Get(uri.Split(":").Last()); if (album.Tracks.Items.Count != 0) { await ctx.Message.Channel.SendMessageAsync("Loading playlist..."); if (await global.lavaPlayer.Join(ctx)) { List <LavalinkTrack> tracks = new List <LavalinkTrack>(album.Tracks.Items.Count); foreach (SimpleTrack track in album.Tracks.Items) { LavalinkTrack lavaTrack = await LavaPlayer.SearchToTrack(ctx, $"{track.Name} - {track.Artists[0].Name}"); if (lavaTrack != null) { tracks.Add(lavaTrack); } } tracks.TrimExcess(); await global.lavaPlayer.PlayTracksList(ctx, tracks); } } else { await ctx.Message.Channel.SendMessageAsync("Invalid link!"); } }
public async Task PlayDirect(CommandContext ctx, string link) { await SafeCall(ctx, async() => { if (await global.lavaPlayer.Join(ctx)) { LavalinkTrack track = await LavaPlayer.UriToTrack(ctx, link); await global.lavaPlayer.Play(ctx, track); } }); }
public async Task Playlist(CommandContext ctx, string link) { await SafeCall(ctx, async() => { if (await global.lavaPlayer.Join(ctx)) { var tracks = await LavaPlayer.UrisToPlaylist(ctx, link); await global.lavaPlayer.PlayTracks(ctx, tracks); } }); }
public async Task PlaySoundcloud(CommandContext ctx, [RemainingText] string search) { await SafeCall(ctx, async() => { if (await global.lavaPlayer.Join(ctx)) { if (search.StartsWith("http://") || search.StartsWith("https://")) { string[] splitSearch = search.Split("/"); search = $"{splitSearch[splitSearch.Length - 1]} - {splitSearch[splitSearch.Length - 2]}"; } LavalinkTrack track = await LavaPlayer.SearchToTrack(ctx, search, LavalinkSearchType.SoundCloud); await global.lavaPlayer.Play(ctx, track); } }); }
public async Task Play(CommandContext ctx, [RemainingText] string search) { await SafeCall(ctx, async() => { if (await global.lavaPlayer.Join(ctx)) { LavalinkTrack track; if (search.StartsWith("http://") || search.StartsWith("https://")) { track = await LavaPlayer.UriToTrack(ctx, search); } else { track = await LavaPlayer.SearchToTrack(ctx, search); } await global.lavaPlayer.Play(ctx, track); } }); }