search method
Search with caching
Implementation
Future<List<Track>> search(String query, {
String source = 'ytsearch',
bool useCache = true,
}) async {
final cacheKey = '$source:$query';
if (useCache && _cache.containsKey(cacheKey)) {
return _cache[cacheKey]!;
}
final results = await lavalinkClient.search(query, source: source);
_cache[cacheKey] = results;
// Auto-expire cache
Future.delayed(cacheExpiry, () => _cache.remove(cacheKey));
return results;
}