execute method
Implementation
@override
Future<String> execute(CommandContext context) async {
if (!context.hasArgs) {
return '❌ Please provide a song name or URL!';
}
final query = context.joinedArgs;
final player = context.player;
final client = context.client;
try {
// Search for tracks
final results = await client.search(query);
if (results.isEmpty) {
return '❌ No results found for: $query';
}
final track = results.first;
// If nothing playing, play immediately
if (player.currentTrack == null) {
await player.play(track);
return '🎵 Now playing: **${track.info.title}** by ${track.info.author}';
} else {
// Add to queue
player.addToQueue(track);
return '✅ Added to queue: **${track.info.title}** - Position #${player.queueLength}';
}
} catch (e) {
return '❌ Failed to play: $e';
}
}