queue static method

Future<String> queue(
  1. CommandContext ctx
)

Implementation

static Future<String> queue(CommandContext ctx) async {
  final manager = ctx.client.getPlayerManager(ctx.guildId);
  if (manager == null) {
    return '❌ No player active!';
  }

  final queue = manager.getQueue();
  if (queue.isEmpty) {
    return '📋 Queue is empty!';
  }

  final buffer = StringBuffer('📋 **Queue** (${queue.length} tracks)\n\n');

  for (var i = 0; i < queue.length && i < 10; i++) {
    final track = queue[i];
    buffer.writeln('${i + 1}. **${track.info.title}** by ${track.info.author}');
  }

  if (queue.length > 10) {
    buffer.writeln('\n... and ${queue.length - 10} more tracks');
  }

  return buffer.toString();
}