Disconnect every voice adapter. Errors are swallowed so cleanup always completes — matches Python ScenarioExecutor._voice_disconnect_all (python/scenario/scenario_executor.py:747-759) — disconnect failures must not mask the primary scenario result.
ScenarioExecutor._voice_disconnect_all
python/scenario/scenario_executor.py:747-759
Disconnect every voice adapter. Errors are swallowed so cleanup always completes — matches Python
ScenarioExecutor._voice_disconnect_all(python/scenario/scenario_executor.py:747-759) — disconnect failures must not mask the primary scenario result.