muteEveryone function

Future<HeadlessActionResult> muteEveryone(
  1. ModerationParameters parameters, {
  2. String kind = 'audio',
})

Implementation

Future<HeadlessActionResult> muteEveryone(
  ModerationParameters parameters, {
  String kind = 'audio',
}) async {
  final targets = _participantList(parameters)
      .where((entry) => entry.islevel != '2' && entry.name != parameters.member)
      .toList(growable: false);
  if (targets.isEmpty) {
    return const HeadlessActionResult.failure('There is nobody else to mute.');
  }
  var successes = 0;
  for (final target in targets) {
    final result = await setParticipantMedia(parameters,
        id: target.id ?? '', name: target.name, kind: kind);
    if (result.ok) successes++;
  }
  return successes > 0
      ? const HeadlessActionResult.success()
      : const HeadlessActionResult.failure('No participant could be muted.');
}