public async Task Command(int trackNum) { User user = await DatabaseQueries.GetOrCreateUserAsync(Context.User.Id); List <FavoriteTrack> userFavorites = await DatabaseQueries.GetAllForUserAsync <FavoriteTrack>(user.UserId); if (!userFavorites.Any()) { await SendBasicErrorEmbedAsync("You have not favorited any tracks. Use the `h favorite` and " + "`h favls` commands for more information on how to use this system."); return; } int trackIndex = trackNum - 1; FavoriteTrack trackMatch; try { trackMatch = userFavorites[trackIndex]; } catch (Exception) { await SendBasicErrorEmbedAsync($"The track number you provided doesn't match a track in " + $"your playlist."); return; } var s = new Search(); await s.SearchAndPlayAsync(Context, trackMatch.TrackId, true); }
public async Task Command([Remainder] string query) { Server server = await DatabaseQueries.GetOrCreateServerAsync(Context.Guild.Id); User user = await DatabaseQueries.GetOrCreateUserAsync(Context.User.Id); if (server.IsPremium || user.IsPremium) { var playInstance = new Search(); ReactionCallbackData?data = await playInstance.SearchAndPlayAsync(Context, query, false, SearchProvider.SOUNDCLOUD); if (data != null) { await InlineReactionReplyAsync(data); } } else { throw new KaguyaSupportException($"This feature is restricted to `Kaguya Premium Subscribers` and " + $"servers with `Kaguya Premium` status."); } }
public async Task Command([Remainder] string query) { var s = new Search(); await s.SearchAndPlayAsync(Context, query, true); }