execute method
Implementation
@override
Future<String> execute(CommandContext context) async {
final player = context.player;
if (player.currentTrack == null) {
return '❌ Nothing is playing!';
}
final buffer = StringBuffer();
buffer.writeln('🎵 **Now Playing:**');
buffer.writeln('${player.currentTrack?.info.title} - ${player.currentTrack?.info.author}');
buffer.writeln('');
if (player.queue.isEmpty) {
buffer.writeln('Queue is empty');
} else {
buffer.writeln('📝 **Queue (${player.queueLength} tracks):**');
final displayCount = player.queueLength > 10 ? 10 : player.queueLength;
for (var i = 0; i < displayCount; i++) {
final track = player.queue[i];
buffer.writeln('${i + 1}. ${track.info.title} - ${track.info.author}');
}
if (player.queueLength > 10) {
buffer.writeln('... and ${player.queueLength - 10} more tracks');
}
}
return buffer.toString();
}